cookieFields :: GenParser Char st [(String, String)]
cookieFields = do
  first <- cookieField
  next <- (string "; " >> cookieFields) <|> return []
  return $ first:next
cookieFields :: GenParser Char st [(String, String)]
cookieFields = do
  first <- cookieField
  next <- (string "; " >> cookieFields) <|> return []
  return $ first:next
cookieFields = do
  first <- cookieField
  next <- (string "; " >> cookieFields) <|> return []
  return $ first:next