The motivation behind Effect<R, Option.Option<E>, A> and the possibility of optional errors
Out of curiosity, what's the motivation behind something like
Effect<R, Option.Option<E>, A>? When would an error ever be "optional"? In the case of Effect.head for example wouldn't Effect<R, E | NoSuchElementException, A> make more sense?