ensure

inline fun <T> T.ensure(predicate: (T) -> Boolean): T
inline fun <T> T.ensure(predicate: (T) -> Boolean, lazyMessage: (T?) -> Any): T