semoro
fun <T> T.genericExtension(thing: GenericInterface<T>) {}
fun <T,R> T.genericExtension(thing: GenericInterface<R>) {}