hsorElse :: Either a b -> (a -> Either c b) -> Either c b orElse (Right x) _ = Right x orElse (Left e) f = f e