Îõ³h*vó     0.0.0.9 Safe-Inferred )*-69ÀÝäðÇ grab!What is produced by performing a . Consists of:Some monoidal log e.g. a list of error messages;Some  desideratumÁ (the object of desire) produced from the consumed input, or Nothing if the grab failed.grabThe result of performing a . Consists of:A residue$ consisting of the unconsumed input;Some monoidal log e.g. a list of error messages;Some  desideratumÁ (the object of desire) produced from the consumed input, or Nothing if the grab failed.grabA : Consumes all of its input bag; Returns a :Some monoidal log e.g. a list of error messages;Some  desideratum? (the object of desire) produced from the consumed input, or Nothing if the grab failed.grabA  grab: =Consumes some portion (none, part, or all) of its input bag; Returns a : A modified bag4 representing the unconsumed portion of the input;Some monoidal log e.g. a list of error messages;Some  desideratum? (the object of desire) produced from the consumed input, or Nothing if the grab failed.grabA : =Consumes some portion (none, part, or all) of its input bag; Returns a :A residue$ consisting of the unconsumed input;Some monoidal log e.g. a list of error messages;Some  desideratum? (the object of desire) produced from the consumed input, or Nothing if the grab failed.Specializations of this type:=If the bag and residue types are the same, the grab is a  grab and it has an  instance.If the residue is (), the grab is a À; it dumps out the entire bag so there is nothing remaining.If the bag is ()&, the grab is just a single fixed Ä, which consists of the residue, log, and maybe the desideratum. If both the bag and residue are (), the grab is just the :, which consists of the log and maybe the desideratum.grab%The most general way to construct an . graba / b1 is a pipeline of two grabs, using the output of a as the input to b.grabWhen residue is (), this function specializes to .grab-This is a specialization of the more general  function.grabÊRun a grab, ignoring the residue and log, producing only the desideratum. (runGrabMaybe x = desideratum . runGrab x grab0Log output, such as an error or warning message.grabÔ some desideratum if the extract represents the outcome of a successful grab, or  if it represents failure.grab7An extract consisting of the given log and desideratum.grabThe desired object.grab'A successful extract with an empty log.grab$Log output such as an error message.grab1An extract with the given log and no desideratum. grab%Log output such as a warning message.grab3An extract with the given log and a desideratum of (). grab>Function that partitions the bag into desideratum and residue.grab+A grab that always succeeds and never logs. grabÞA function which, given the entire input, produces some log output and maybe a desideratum.grabäA grab that consumes the entire bag, producing whatever the function extracted from its contents. grabThe first grab a, whose desideratum x/ will be passed as input to the second grab b.grabThe second grab bË. The residue of this grab will be ignored, so it usually ought to be a .grab&A grab whose result is the residue of a, the combined logs of both a and b, and the desideratum of b. grab&A grab which may produce some residue.grab A grab that produces no residue.grab4A grab, which may consume some portion of the input.grab The input.grab