tieskedh
fun A.test(a: (A.() ->Unit)? =null) = apply{a?.invoke(this)}
fun A.test(a: (A.()->Unit ={}) = apply(a)