Automaticly limit max value

Well you could just declare a function that returns a vetoable. Same as lazy returns the right delegate for lazy initialization.

fun limiter(start: Int, max: Int) = Delegates.vetoable(start) { _, _, newValue -> newValue <= max }