GenericRule

fun <T> GenericRule(checkFn: (T) -> Boolean, messageFn: (T) -> String = { "Invalid input" })