Dx:oX      !"#$%&'()*+,-./0123456789:;<=>? @ A B C D E F G H I J K L M N O P Q R S T U V W  experimentalconal@conal.net Safe-Inferred experimentalconal@conal.netNone Strict 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 ($Case analysis on strict sum functor  !"#$%&'(XY%  !"#$%&'(% !" #($%&' !"#$%&'(XY experimentalconal@conal.netNone)Z[\)))Z[\ experimentalconal@conal.netNone*OA derivative, i.e., a one-hole context for a container f (probably a functor). **** experimentalconal@conal.netNone+'Filling and creating one-hole contexts .;Location, i.e., one-hole context and a value for the hole. /Alternative interface for ,. +, Fill a hole -All extractions ./]^_`abcdefg+,-./.+,-/+,-./]^_`abcdefg experimentalconal@conal.netNone1#Derivative, i.e., one-hole context 2 Fill a hole 3All extractions h;Location, i.e., one-hole context and a value for the hole. 4Alternative interface for 2. 0123h4ijklmno0123401234 0123h4ijklmno experimentalconal@conal.netNone5(Zipper for a functor tree. Also called "location" 6Context for functor fixpoints Context for a regular type 7&Move upward. Error if empty context. 8 Variant of 7. p if empty context. 56qrs789567896578956qrs789 experimentalconal@conal.netNone:(Zipper for a regular type. Also called "location" ;Context for a regular type <&Move upward. Error if empty context. = Variant of <. p if empty context. :;<=>:;<=>;:<=>:;<=>  experimentalconal@conal.netNone ?(Domain types with associated memo tries @(Representation of trie with domain type a A4Create the trie for the entire domain of a function B?Convert k trie to k function, i.e., access k field of the trie C(List the trie elements. Order of keys (:: k) is always the same. DMemo trie from k to v ETrie-based function memoizer t0Lift a memoizer to work with one more argument. FAMemoize a binary function, on its first argument and then on its 7 second. Take care to exploit any partial evaluation. GBMemoize a ternary function on successive arguments. Take care to ! exploit any partial evaluation. 6uvwxy?@ABCDEtFGz{|}~ ?@ABCDEFG ?@ABCDEFG0uvwxy?@ABCDEtFGz{|}~  experimentalconal@conal.net Safe-InferredH Strict sum K Strict pair MCurry on strict pairs NUncurry on strict pairs O%Case analysis for strict sums. Like . HIJKLMNOHIJKLMNOKLMNHJIOHJIKLMNO  experimentalconal@conal.netNone P(Domain types with associated memo tries Q(Representation of trie with domain type a R4Create the trie for the entire domain of a function S?Convert k trie to k function, i.e., access k field of the trie Strict memo trie from k to v 4Create the trie for the entire domain of a function ?Convert k trie to k function, i.e., access k field of the trie UTrie-based function memoizer 0Lift a memoizer to work with one more argument. VAMemoize a binary function, on its first argument and then on its 7 second. Take care to exploit any partial evaluation. WBMemoize a ternary function on successive arguments. Take care to ! exploit any partial evaluation. +PQRSTUVWPQRSTUVWPQRSTUVW&PQRSTUVW            !"##$$%&'())*+,-./0123456789:6578:;<=>?;<=>? @ A B C D E F G H I J K L L M N O @ P Q R E F G HSTUVWXYZ[\]^_`ab9\]^_`abcdeef g h i i j j k l m n o p q r s t u v w x y z { | } ~    B C g   A A h n ~  functor-combo-0.0.8FunctorCombo.FunctorFunctorCombo.RegularFunctorCombo.LubFFunctorCombo.DerivativeFunctorCombo.HoleyFunctorCombo.DHoleyFunctorCombo.ZipperFixFunctorCombo.ZipperRegFunctorCombo.StrictMemoFunctorCombo.StrictFunctorCombo.NonstrictMemoTypeCompose-0.9.9Control.ComposeinId2inIdunIdinO2inOunO~>O:.IdbaseControl.ApplicativegetConstConstRegularPFwrapunwrap:+:!InR'InL':*:!LiftunLift:+:InRInL:*:UnitVoidvoidFuniteitherFpairFunPairFinProdinProd2eitherF'HasLubFDerHoleyfillCextractLocfillZipperContextupup'downHasTrieTrietrieuntrie enumerate:->:memomemo2memo3:+!Right'Left':*!curry'uncurry'either'STriesTriesUntrie$fApplicative:*: $fFunctorVoidlubF $fHasLubF:*: $fHasLubFIdlassocsquishPtweak1 chainRuletweak2 extractGF $fHoley:. $fHoley:*: $fHoley:+: $fHoleyId $fHoleyConst Data.MaybeNothingFixunFixmupUnopTreeTrieListTrieenum'weave enumerateEnumboolfibft1f1trie1atrie1btrie1ctrie1dtrie1etrie1ftrie1gtrie1htrie1ift2altsf2 $fRegularTree $fRegular[] $fHasTrie(->)$fHasTrieInteger $fHasTrieInt$fHasTrieTreeTrie $fHasTrieTree$fHasTrieListTrie $fHasTrie[] $fHasTrie:. $fHasTrie:+: $fHasTrie:*: $fHasTrieId$fHasTrieConst$fHasTrie(,,,) $fHasTrie(,,) $fHasTrieBool $fHasTrie(,)$fHasTrieEither $fHasTrie() Data.Eithereither:-> ListSTriebottomsumToFfToSum $fHasTrie:+:! $fHasTrie:*:! $fHasTrieLift $fHasTrie:*! $fHasTrie:+!