dnowak
fun <R> unsafe(f:() -> R): Either<Throwable, R> = try { f().right() } catch (t: Throwable) { t.nonFatalOrThrow().left() }