okkero
05/05/2017, 12:53 PMFor Foo<in T>, where T is a contravariant type parameter, Foo<*> is equivalent to Foo<in Nothing>. It means there is nothing you can write to Foo<*> in a safe way when T is unknown.And
Function1 defines its type parameters as <in T, out R>