okkero
fun <T : Comparable<T>> ClosedRange<T>.toSequence(succ: T.() -> T) = buildSequence { generateSequence(start, succ).forEach { yield(it) } }