úÎ.Û+l     SafeIN AmbT r m a1 is a computation whose current value is of type a3 and which will ultimately return a value of type r. The same as ContT.From left to right:!the computation to run on failure>the continuation captured when making nondeterministic choices(record keeping of solutions found so far¦call/cc lifted into the nondeterministic monad. This implements the backtracking behaviour which allows Amb to try different code paths and return multiple results.7Run the nondeterministic computation. This is internal.7Run the nondeterministic computation. This is internal. “When the nondeterministic computation backtracks past this state, execute this nondeterministic computation. Generally used to undo side effects. 4A helper to inject state into the backtracking stack 4A helper to inject state into the backtracking stack ¦A low-level internal function which executes a nondeterministic computation for its nondeterministic side-effects, such as its ability to produce different results. LRun a nondeterministic computation and return a result of that computation.LRun a nondeterministic computation and return a result of that computation.—Run a nondeterministic computation and return a list of all results that the computation can produce. Note that this function is not lazy its result.—Run a nondeterministic computation and return a list of all results that the computation can produce. Note that this function is not lazy its result..Run a nondeterministic computation and return True if any result is True, False otherwise..Run a nondeterministic computation and return True if any result is True, False otherwise..Run a nondeterministic computation and return True if all possible results are True, False otherwise..Run a nondeterministic computation and return True if all possible results are True, False otherwise.:Nondeterministically choose either of the two computations)Terminate this branch of the computation.JThe most basic primitive that everything else is built out of. Generates True and False.(Generate each element of the given list.5Generate each subset of any size from the given list.9Generate all numbers between the given bounds, inclusive.Generate all splits of a list.$Generate all permutations of a list.%Generate all partitions of this list.5Generate all partitions of a given size of this list.!Just for fun. This is McCarthy's amb operator and is a synonym for  aMemberOf.&  !"#$%;&'()*+,-./0123456789:;<=>?@AB   $  !"#$%C      !"#$%&'()'(*'(+',-',.',/',/',0',1',2',3',4',5',6',7',7'89'(:'(;'(<'(='(>'(?'(@'(A'(B'(C'(D'(EFnonde_Ihl1mSxl1WEJcal8CjdxDdControl.Monad.AmbAmb'AmbT'AmbAmbTunAmbTambCCrunAmbTIrunAmbT uponFailure tellStatetell' forEffects oneValueToneValue allValuesT allValues isPossibleT isPossible isNecessaryT isNecessaryaBoolean aMemberOf aSubsetOfanIntegerBetweenaSplitOfaPermutationOf aPartitionOfaPartitionOfSizeambeither'fail'$fAlternativeAmbT$fApplicativeAmbT $fFunctorAmbT$fMonadPlusAmbT $fMonadAmbT$fMonadTransAmbTbaseGHC.Base<*>pure ApplicativeControl.ApplicativeoptionalgetConstConst unwrapMonad WrapMonad WrappedMonad unwrapArrow WrapArrow WrappedArrow getZipListZipList Data.Functor<$>liftA3liftA2liftA<**><$<**>manysome<|>empty Alternative