by

fun by(field: KProperty1<T, *>)
fun by(vararg fields: KProperty1<T, *>)
fun by(fieldName: String)
fun by(block: CompositeKeyBuilder<T>.() -> Unit)