parseTuple :: [L] -> Either Error Assert
parseTuple ls =
  case runParser rclause_ ls of
    Left (err, _) -> Left err
    Right (v, []) -> Right v
    Right v -> Left $ "incomplete parse: " ++ show v
parseTuple :: [L] -> Either Error Assert
parseTuple ls =
  case runParser rclause_ ls of
    Left (err, _) -> Left err
    Right (v, []) -> Right v
    Right v -> Left $ "incomplete parse: " ++ show v
parseTuple ls =
  case runParser rclause_ ls of
    Left (err, _) -> Left err
    Right (v, []) -> Right v
    Right v -> Left $ "incomplete parse: " ++ show v