interface A interface B fun fooB(b: B) {} fun bar(f: (T) -> Unit, e: T) {} fun baz(e: T, f: (T) -> Unit) {} fun test(a: A, b: B) { baz(a, ::fooB) bar(::fooB, a) }