rejecting with real Error instances, turning error objects looking like {error: DamnError, reason: because} into a meaningful Error instance as well