semoro
operator fun <T : Any?> T.invoke(fn: T.() -> Unit): T { fn.invoke(this) return this }
a infixOp b .invoke {}