overriding standard results in ThrownExpectations so that 'failure' throws an Exception
more exhaustive pattern match on Result exceptions