compareByProperties

fun <T : Comparable<T>, P : Comparable<P>> T.compareByProperties(other: T, vararg properties: KProperty1<T, P?>): Int