nodeP :: Parser Node
nameP :: Parser String
-problemP = (,) <$> ((many1 directionP) <* many1 endOfLine) <*> desertP
+problemP = (,) <$> many1 directionP <* many1 endOfLine <*> desertP
directionP = (L <$ "L") <|> (R <$ "R")
desertP = M.fromList <$> desertLineP `sepBy` endOfLine
-desertLineP = (,) <$> (nameP <* " = ") <*> nodeP
+desertLineP = (,) <$> nameP <* " = " <*> nodeP
-nodeP = Node <$> ("(" *> nameP <* ", ") <*> (nameP <* ")")
+nodeP = Node <$ "(" <*> nameP <* ", " <*> nameP <* ")"
nameP = many1 (letter <|> digit)
successfulParse :: Text -> ([Direction], Desert)