private class Generic(val t: T) { private val x = object { val member = t } fun get() = x.member } fun stringIdentity(s: String) = Generic(s).get() fun intIdentity(i: Int) = Generic(i).get()