Results are assumed to be successful unless a failure is thrown
Updated `Literal.Result`’s block handling to assume success for returned values. Calling `success` or `failure` on the emitter throws.
This prevents you haven’t to remember to use `next` instead of `return` whern using the block.