>46Y      !"#$%&'()*+,-./0123456789:;<=>?@A B C D E F G H I J K L M N O P Q R S T U V W X  experimentalconal@conal.net experimentalconal@conal.netStrict sum functor Strict product functor Add a bottom to a type Sum on unary type constructors #Product on unary type constructors 'Unit type constructor (one inhabitant) Empty/'zero type constructor (no inhabitants) !"The unit value #Like Y $Like Z %[&'()*$Case analysis on strict sum functor '  !"#$%&'()*' !" %#$*&'() !"#$%&'()* experimentalconal@conal.net+\+++ experimentalconal@conal.net,OA derivative, i.e., a one-hole context for a container f (probably a functor). ,,, experimentalconal@conal.net -'Filling and creating one-hole contexts . Fill a hole /All extractions 0;Location, i.e., one-hole context and a value for the hole. 1Alternative interface for .. ]^_`ab-./010-./1-././01 experimentalconal@conal.net23#Derivative, i.e., one-hole context 4 Fill a hole 5All extractions c;Location, i.e., one-hole context and a value for the hole. 6Alternative interface for 4. de234562345623453456 experimentalconal@conal.net7(Zipper for a functor tree. Also called "location" 8Context for functor fixpoints Context for a regular type fgh9&Move upward. Error if empty context. : Variant of 9. i if empty context. ;789:;879:;789:; experimentalconal@conal.net<(Zipper for a regular type. Also called "location" =Context for a regular type >&Move upward. Error if empty context. ? Variant of >. i if empty context. @<=>?@=<>?@<=>?@  experimentalconal@conal.net!jklmnA(Domain types with associated memo tries B(Representation of trie with domain type a C4Create the trie for the entire domain of a function D?Convert k trie to k function, i.e., access k field of the trie EMemo trie from k to v op(List the trie elements. Order of keys (:: k) is always the same. FTrie-based function memoizer q0Lift a memoizer to work with one more argument. GAMemoize a binary function, on its first argument and then on its 7 second. Take care to exploit any partial evaluation. HBMemoize a ternary function on successive arguments. Take care to ! exploit any partial evaluation. rstuvwxyz{|}~ABCDEFGHABCDEFGHABCDBCDEFGH  experimentalconal@conal.netI Strict sum JKL Strict pair MNCurry on strict pairs OUncurry on strict pairs P%Case analysis for strict sums. Like . IJKLMNOPLMNOIKJPIKJJKLMMNOP  experimentalconal@conal.netQ(Domain types with associated memo tries R(Representation of trie with domain type a S4Create the trie for the entire domain of a function T?Convert k trie to k function, i.e., access k field of the trie Strict memo trie from k to v U4Create the trie for the entire domain of a function ?Convert k trie to k function, i.e., access k field of the trie VTrie-based function memoizer 0Lift a memoizer to work with one more argument. WAMemoize a binary function, on its first argument and then on its 7 second. Take care to exploit any partial evaluation. XBMemoize a ternary function on successive arguments. Take care to ! exploit any partial evaluation. QRSTUVWXQRSTUVWXQRSTRSTUVWX            !"##$$%&'())*+,-./0123456789:;<879:<=>?@A=>?@A B C D E F G H I J K L M M N O P B Q R S F G H ITUTVWXYZ[\]^;]^__`ab c d d e e f g h i j k l m n o p q r s t u v w x yz{ | | } C C c j ~ D E h  functor-combo-0.1.0FunctorCombo.FunctorFunctorCombo.RegularFunctorCombo.LubFFunctorCombo.DerivativeFunctorCombo.HoleyFunctorCombo.DHoleyFunctorCombo.ZipperFixFunctorCombo.ZipperRegFunctorCombo.StrictMemoFunctorCombo.StrictFunctorCombo.NonstrictMemoTypeCompose-0.8.3Control.ComposeinId2inIdunIdinO2inOunO~>O:.IdbaseControl.ApplicativegetConstConstRegularPFwrapunwrap:+:!InR'InL':*:!LiftunLift:+:InRInL:*:UnitVoidvoidFunitfstFsndFeitherFpairFunPairFinProdinProd2eitherF'HasLubFDerHoleyfillCextractLocfillZipperContextupup'downHasTrieTrietrieuntrie:->:memomemo2memo3:+!Right'Left':*!curry'uncurry'either'STriesTriesUntrie Data.TuplefstsndjoinPlubFlassocsquishPtweak1 chainRuletweak2 extractGFFixunFix Data.MaybeNothingUnopTreeTrieListTrieidTrie enumeratemupweaveboolfibft1f1trie1atrie1btrie1ctrie1dtrie1etrie1ftrie1gtrie1htrie1ift2altsf2 Data.Eithereither ListSTrie:->bottomsumToFfToSum