nonFatalOrThrow
Helper to effectively convert stdlib's runCatching to behave like KmmResult's Non-fatal-only catching. I.e. any fatal exceptions are thrown. The reason this exists is that catching incurs instantiation cost. This helper hence provides the best of both worlds.
Throws any fatal exceptions. This is a re-implementation taken from Arrow's nonFatalOrThrow
– to avoid a dependency on Arrow for a single function.