-- |
-- Parses one of the following nodes.
nodesEventualNode :: Node a -> Nodes a
nodesEventualNode node =
  fix $ \loop ->
    nodesImmediateNode node <|> (nodesImmediateNode (pure ()) *> loop)
nodesEventualNode :: Node a -> Nodes a
nodesEventualNode node =
  fix $ \loop ->
    nodesImmediateNode node <|> (nodesImmediateNode (pure ()) *> loop)
nodesEventualNode node =
  fix $ \loop ->
    nodesImmediateNode node <|> (nodesImmediateNode (pure ()) *> loop)