fun test() { acceptMyRecursive(inferType<MyRecursive?>()) } fun acceptMyRecursive(value: MyRecursive?) {} fun ?> inferType(): R = TODO() abstract class Recursive class MyRecursive : Recursive()