UnwrappableResult
A minimal fallible-result shape: { ok: true, value } or { ok: false, error }.
ts
type UnwrappableResult<TValue, TError> = {
readonly ok: true;
readonly value: TValue
} | {
readonly ok: false;
readonly error: TError
}