loopAsLongNotNull

inline fun <T> T.loopAsLongNotNull(crossinline block: (T) -> T?): T