public inline fun T.apply(f: T.() -> Unit): T { f(); return this }