fun <R> property(kProperty: KProperty1<T, R>, block: KotlinPropertyDSL<T, R>.() -> Unit): Unit
fun <R> property(name: String, block: PropertyDSL<T, R>.() -> Unit): Unit