getOrElse

inline fun <R, T : R> DataResult<T>.getOrElse(onFailure: (DataResult.Failure) -> R): R

Returns the carried value, or what onFailure makes of the whole DataResult.Failure - which it can return as it is, for an early exit:

val id = insertCitizen().getOrElse { return@transactionResult it }