ú΃)      experimentalconal@conal.net=A data type representation, in terms of standard data types.  Requires that  .  == . to representation from representation "Apply a binary function on a repr "Apply a binary function on a repr  experimentalconal@conal.net (Types that support information merging () DLeast upper information bound. Combines information available from E each argument. The arguments must be consistent, i.e., must have a  common upper bound. n-ary . Defaults to foldr lub undefined A " for flat domains. Equivalent to . Handy for defining   instances, e.g.,  / instance HasLub Integer where lub = flatLub  CTurn a binary commutative operation into that tries both orders in  parallel, 5-merging the results. Useful when there are special  cases that don'%t require evaluating both arguments. +Similar to parCommute from Unamb, but uses  instead of . FMultiplication optimized for either argument being zero or one, where  the other might be expensive/ delayed.     experimentalconal@conal.net -Types that support information intersection ( ) DGreatest lower information bound. Intersects information available  from each argument. n-ary lub. Defaults to foldr lub undefined  Bottom for a  . In the form of error " glb: bottom (<reason>)",  though not really an error.  8 on flat types with equality. Gives bottom for unequal  arguments.      experimentalconal@conal.net      !"# lub-0.1.2 Data.ReprData.LubData.Glb Data.LaxerHasReprreprunrepronRepronRepr2HasLublublubsflatLub parCommuteptimesHasGlbglbglbs glbBottomflatGlbcondLeitherLbaseGHC.Baseid unamb-0.2.4 Data.UnambunambdefinedPisLoutLoutRrepLubrepGlb