úÎ6/³E      !"#$%&'()*+,-./0123456 7 8 9 : ; < = > ? @ A B C D  experimentalconal@conal.netSum on unary type constructors #Product on unary type constructors 'Unit type constructor (one inhabitant) Empty/'zero type constructor (no inhabitants) The unit value     experimentalconal@conal.netE experimentalconal@conal.netOA 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 !;Location, i.e., one-hole context and a value for the hole. "Alternative interface for . FGHIJK !"! "  !" experimentalconal@conal.net #$#Derivative, i.e., one-hole context % Fill a hole &All extractions L;Location, i.e., one-hole context and a value for the hole. 'Alternative interface for %. MNOPQR#$%&'#$%&'#$%&$%&' experimentalconal@conal.net('Location in a functor tree -- a zipper )Context for functor fixpoints Context for a regular type STU*&Move upward. Error if empty context. + Variant of *. V if empty context. ,()*+,)(*+,()*+, experimentalconal@conal.net-./0-./0-./0-./0./0 experimentalconal@conal.net1(Location for a regular type -- a zipper 2Context for a regular type 3&Move upward. Error if empty context. 4 Variant of 3. V if empty context. 5123452134512345  experimentalconal@conal.net"WXYZ[6(Domain types with associated memo tries 7(Representation of trie with domain type a 84Create the trie for the entire domain of a function 9?Convert k trie to k function, i.e., access k field of the trie :(List the trie elements. Order of keys (:: k) is always the same. \Memo trie from k to v ;Trie-based function memoizer ]0Lift a memoizer to work with one more argument. <AMemoize a binary function, on its first argument and then on its 7 second. Take care to exploit any partial evaluation. =BMemoize a ternary function on successive arguments. Take care to ! exploit any partial evaluation. ^_`abcdefghijklmnop6789:;<=6789:;<=6789:789:;<=  experimentalconal@conal.netqr>(Domain types with associated memo tries ?(Representation of trie with domain type a @4Create the trie for the entire domain of a function A?Convert k trie to k function, i.e., access k field of the trie sStrict memo trie from k to v tuvwxyz4Create the trie for the entire domain of a function {?Convert k trie to k function, i.e., access k field of the trie BTrie-based function memoizer |0Lift a memoizer to work with one more argument. CAMemoize a binary function, on its first argument and then on its 7 second. Take care to exploit any partial evaluation. DBMemoize a ternary function on successive arguments. Take care to ! exploit any partial evaluation. >?@ABCD>?@ABCD>?@A?@ABCD}           !"#$%&'()*+,-.*)+,./0123456789123 : ; < = > ? @ A : B C D ? @ AEFGHIJK-FGHIJKLLMNO P Q Q R R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h h i S ; ; P X j < = Tkfunctor-combo-0.0.4FunctorCombo.FunctorFunctorCombo.LubFunctorCombo.DerivativeFunctorCombo.HoleyFunctorCombo.DHoleyFunctorCombo.FixCFunctorCombo.RegularFunctorCombo.LocTFunctorCombo.StrictMemoFunctorCombo.NonstrictMemoTypeCompose-0.8.0Control.ComposeinId2inIdunIdinO2inOunO~>O:.IdbaseControl.ApplicativegetConstConst:+:InRInL:*:UnitVoidvoidFuniteitherFpairFunPairFinProdinProd2HasLubFDerHoleyfillCextractLocfillLocFixFixCupup'downRegularPFwrapunwrapLocTContextHasTrieTrietrieuntrie enumeratememomemo2memo3STriesTriesUntrielubFlassocsquishPtweak1 chainRuletweak2 extractGFFixunFix Data.MaybeNothingUnopTreeTrieListTrie:->:mupenum'weave enumerateEnumboolfibft1f1trie1atrie1btrie1ctrie1dtrie1etrie1ftrie1gtrie1htrie1ift2altsf2 ListSTrie:->bottom