mg6maciej
open class TypeToken<T> inline fun <reified T: Any> write(obj: T) { val token = object : TypeToken<T>() {} token::class.supertypes[0].arguments[0].type }