Add rough Kotlin port (experimenting with Kotlin)