Repository to explore how to manually simulate an higher kinded type in Kotlin