We will introduce a ReductionException type which will wrap exceptions that are
raised during reduction (i.e. reduceFully, uquote, text, raises, and raisesWith
operators and extension methods). This will allow us to e.g. improve
decompilation so that values of non-raised exceptions aren't printed with
verbose stacktrace information. Note that this will be a slight breaking change
in that the last expression returned from reduceAll will contain the
ReductionException instead of the actual exception if one is thrown (use
ReductionException.InnerException to get at the actual Exception).