withInputTransform

fun <K : Setting<T>, T> K.withInputTransform(transform: (input: T, setting: K) -> T): K
fun <K : Setting<T>, T> K.withInputTransform(transform: (input: T) -> T): K

Can be used to set a setting specific restraint / extra action when setting the new value.

Is used differently in the implementations alongside with additional restraints on inputs.