Seams like duplicate of
try
error ≠ error union. Compiler knows that returnError() always returns error. You don't have to guess if it's an error that is the semantic of try.
error
error union
returnError()