|<

Assymetric (and therefore probably not bijective) version of >|< that returns whichever action succeeds but always uses the right one on inputs.
When a key occurs in both maps, prefer the value from the first map. See asymptotics of unionWithL.
O(m*log(n)+n), where m is the size of the smaller set and n is the size of the larger set.
is one space completely below the other
is one space completely below the other
Check if one quantity is less than or equal to a compatible one
Check if one quantity is less than a compatible one
Equivalent to (>|>) with the arguments flipped (<|<) is analogous to (<=<)
Combines two UnionEncoder values. See UnionEncoder for usage notes. Ideally, this matches chosen; however, this allows UnionEncoder to not need a Divisible instance itself (since no instance is possible).
Operator version of choose id.
>>> dontPrintInt = LogAction (const (putStrLn "Not printing Int"))

>>> Left 1 &> (dontPrintInt >|< logStringStdout)
Not printing Int

>>> (dontPrintInt >|< logStringStdout) <& Right ":)"
:)
Associative binary choice.
Like $$ but relaxed to work on correct kinds.
> ordE $$|< zero
Just (ord 0 :: ill-typed # Char -> Int $ Int #)
> zero $$|< zero
Nothing
Warning: just like :$, this may produce ill-typed expressions. Together with $$**, this function is unused but is useful when experiment with the source to see the effect of type-corrected on pruning the search space. (cf. $$, $$**)