orangy
test2
fun test(provider: ()->T) { val t = provider() // value comes from caller into the type implementation }