%B#      experimentalconal@conal.netNone?And another as our representation for a no-longer-needed value FUse a particular exception as our representation for waiting forever. AUnambiguous choice operator. Equivalent to the ambiguous choice G operator, but with arguments restricted to be equal where not bottom,  so that the choice doesn't matter. See also . LIf anything kills unamb while it is evaluating (like nested unambs), it can @ be retried later but, unlike most functions, work may be lost. HFor use when we already know that neither argument is already evaluated n-ary  >Ambiguous choice operator. Yield either value. Evaluates in @ separate threads and picks whichever finishes first. See also   and . HFor use when we already know that neither argument is already evaluated BRace two actions against each other in separate threads, and pick % whichever finishes first. See also . <Yield a value if a condition is true. Otherwise undefined. *The value of agreeing values (or undefined/bottom) GTurn a binary commutative operation into one that tries both orders in 8 parallel. Useful when there are special cases that don' t require I evaluating both arguments. For non-flat types and information merging,  see  parCommute in the lub package. GTurn a binary commutative operation into one that may try both orders. J unlike parCommute, if one argument is already evaluated, the function is K tried *only* with that as its first argument and not in both orders. When  in doubt, use  .  Parallel or  Parallel and >Binary operation with annihilator element. For instance, (*) & 0,  (&&) & , (||) & ,  & ,  & . 4 Tests either argument as annihilator, in parallel. Binary operation with left &, right identity element. For instance, (*) & 1,  (&&) & , (||) & ,  & ,  & . 1 Tests either argument as identity, in parallel. ?Parallel min with minBound short-circuit and maxBound identity ?Parallel max with maxBound short-circuit and minBound identity =Parallel multiplication with 0 short-circuit, and 1 identity        !      !"#$%& unamb-0.2.5 Data.Unamb BothBottomunambunamb'unambsambamb'raceassumingasAgree parCommuteparCommuteShortCircuitporpandparAnnihilator parIdentityparAnnihilatorIdentitypminpmaxpmult DontBotherghc-prim GHC.TypesFalseTrue GHC.ClassesminbaseGHC.EnumminBoundmaxmaxBoundunsafeIsEvaluatedrestartingUnsafePerformIOputCatch$fExceptionDontBother$fExceptionBothBottom