Like
try, but can also handle an
AnnotatedException or
the underlying value. Useful when you want to
try to catch a
type of exception, but you may not care about the
Annotations
that it may or may not have.
Example:
Left exn <- try $ throw (AnnotatedException [] TestException)
exn == TestException
Left exn <- try $ throw TestException
exn == AnnotatedException [] TestException