It might be nice to make an “empty” monad for tracking partial functions. Then we could make a Partial.run : (Exception -> ‘a) Partial<‘a> -> ‘a. That way you’d be able to track that a function can throw without tracking the error cases. But as opposed to Options, there is an exception backing it so you get error info.
It might be nice to make an “empty” monad for tracking partial functions. Then we could make a
Partial.run : (Exception -> ‘a) Partial<‘a> -> ‘a. That way you’d be able to track that a function can throw without tracking the error cases. But as opposed to Options, there is an exception backing it so you get error info.