I have a generic utility type called Result for operations that might return a value or might return an error:
Result
<