$/"`      Safe-InferredHMA 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 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 D to push the element back so that it is available for the next  command. qpeek = 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 DControl.Foldl.purely foldAll :: Monad m => Fold a b -> Parser a m b "Fold all input values monadically JControl.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 N 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 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   Convert a  to a ' by running it repeatedly on the input  Variant of 9 for parsers which return a Maybe instead of an Either Step function Initial accumulator Extraction function Step function Initial accumulator Extraction function   !"     Safe-Inferred#      !"#$%&'%()%()%(*%(+%(,-.-/0pipes-parse-3.0.3 Pipes.ParsePipes.Parse.TutorialParserdrawskipdrawAllskipAllunDrawpeek isEndOfInputfoldAllfoldAllMspansplitAtgroupBygrouptoParser toParser_ parseForever parseForever_ pipes-4.1.5 Pipes.CoreProducerbase Data.MaybeNothingghc-prim GHC.TypesTrueFalse GHC.Classes==ConsumerPipeLens'^.transformers-0.3.0.0Control.Monad.Trans.Classlift Control.Monad.Trans.State.StrictStateT runStateT evalStateT execStateTPipesnextyield