úÎ( &       Safe-InferredA 5 is an action that reads from and writes to a stored  %Draw one element from the underlying  , returning  if the   is empty %Skip one element from the underlying  , returning  if  successful or  if the  is empty  skip = fmap isJust draw &Draw all elements from the underlying   Note that  is not an idiomatic use of  pipes-parse, but I provide / it for simple testing purposes. Idiomatic  pipes-parse style consumes the O elements immediately as they are generated instead of loading all elements + into memory. For example, you can use  or   for this  purpose. 'Drain all elements from the underlying  )Push back an element onto the underlying  2 checks the first element of the stream, but uses  to push the 6 element back so that it is available for the next  command.  peek = do  x <- draw  case x of  Nothing -> return ()  Just a -> unDraw a  return x Check if the underlying  is empty $ isEndOfInput = fmap isNothing peek Fold all input values E Control.Foldl.purely foldAll :: Monad m => Fold a b -> Parser a m b "Fold all input values monadically K Control.Foldl.impurely foldAllM :: Monad m => FoldM a m b -> Parser a m b  % is an improper lens that splits the  into two s,  where the outer 3 is the longest consecutive group of elements that  satisfy the predicate  # is an improper lens that splits a  into two s % after a fixed number of elements   splits a  into two s after the first group of A elements that are equal according to the equality predicate Like  #, where the equality predicate is ()  Convert a  to a   signifies end of input Convert a never-ending  to a  Run a  repeatedly on a ,  ing each ` Right result Returns the remainder of the  when the  returns  Run a  repeatedly on a ,  ing each  result Returns the remainder of the  when the  returns   Convert a  to a ' by running it repeatedly on the input  Variant of " for parsers which return a Maybe  instead of an Either Step function Initial accumulator Extraction function Step function Initial accumulator Extraction function   !"#$%&     Safe-Inferred'      !"#$%&'()*+,-.,/0$1,/2,/3,/4,/05pipes-parse-3.0.7 Pipes.ParsePipes.Parse.TutorialParserdrawskipdrawAllskipAllunDrawpeek isEndOfInputfoldAllfoldAllMspansplitAtgroupBygrouptoParser toParser_parsedparsed_ parseForever parseForever_ pipes-4.2.0 Pipes.CoreProducerbase Data.MaybeNothingghc-prim GHC.TypesTrueFalse GHC.Classes==ConsumerPipesyield Data.EitherLeftJustPipeLens'^.transformers-0.5.2.0Control.Monad.Trans.Classlift Control.Monad.Trans.State.StrictStateTnext execStateT evalStateT runStateT