Ported to Kotlin. All the boilerplate code for the service bindings was trivially done using chatGPT. The hardest parts were (a) fighting with serialization, and (b) adding crap to build.gradle.kts without really understanding what's going on.