=k5[      !"#$%&'()*+,-./0123456789:;<=>?@ABC D E F G H I J K L M N O P Q R S T U V W X Y Z  experimentalconal@conal.net Safe-Infered experimentalconal@conal.net Safe-Infered Uniform pairs 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 %Like [ &Like \ ,$Case analysis on strict sum functor ) !"#$%&'()*+,]^_`abcdefghij)  !"#$%&'()*+,) "#!$ ' %&,()*+  !"#$%&'()*+,]^_`abcdefghij experimentalconal@conal.net Safe-Infered-kl---kl experimentalconal@conal.net Safe-Infered.OA derivative, i.e., a one-hole context for a container f (probably a functor). .... experimentalconal@conal.net Safe-Infered/'Filling and creating one-hole contexts 2;Location, i.e., one-hole context and a value for the hole. 3Alternative interface for 0. /0 Fill a hole 1All extractions 23mnopq/01232/013/0123mnopq experimentalconal@conal.net Safe-Infered5#Derivative, i.e., one-hole context 6 Fill a hole 7All extractions 8Alternative interface for 6. 45678rstuv456784567845678rstuv experimentalconal@conal.net Safe-Infered9(Zipper for a functor tree. Also called "location" :Context for functor fixpoints Context for a regular type ;&Move upward. Error if empty context. < Variant of ;. w if empty context. 9:;<=9:;<=:9;<=9:;<= experimentalconal@conal.net Safe-Infered>(Zipper for a regular type. Also called "location" ?Context for a regular type @&Move upward. Error if empty context. A Variant of @. w if empty context. >?@AB>?@AB?>@AB>?@AB  experimentalconal@conal.net Safe-InferedC(Domain types with associated memo tries D(Representation of trie with domain type a E4Create the trie for the entire domain of a function F?Convert k trie to k function, i.e., access k field of the trie GMemo trie from k to v HTrie-based function memoizer IAMemoize a binary function, on its first argument and then on its 7 second. Take care to exploit any partial evaluation. JBMemoize a ternary function on successive arguments. Take care to ! exploit any partial evaluation. CDEFGHIJxyz{|}~CDEFGHIJCDEFGHIJCDEFGHIJxyz{|}~  experimentalconal@conal.net Safe-InferedK Strict sum N Strict pair PCurry on strict pairs QUncurry on strict pairs R%Case analysis for strict sums. Like . KLMNOPQRKLMNOPQRNOPQKMLRKMLNOPQR  experimentalconal@conal.net Safe-InferedS(Domain types with associated memo tries T(Representation of trie with domain type a U4Create the trie for the entire domain of a function V?Convert k trie to k function, i.e., access k field of the trie XTrie-based function memoizer YAMemoize a binary function, on its first argument and then on its 7 second. Take care to exploit any partial evaluation. ZBMemoize a ternary function on successive arguments. Take care to ! exploit any partial evaluation. STUVWXYZSTUVWXYZSTUVWXYZSTUVWXYZ            !"#$%%&&'()*++,-./0123456789:;<=>:9;<>?@ABC?@ABC D E F G H I J K L M N O O P Q R D S T U H I J KVWVXYZ[\]^_`abcdefghijklmijklmno p q r s t u v w x y z { | } ~   p q s t u y z { | } ~  functor-combo-0.1.1FunctorCombo.FunctorFunctorCombo.RegularFunctorCombo.LubFFunctorCombo.DerivativeFunctorCombo.HoleyFunctorCombo.DHoleyFunctorCombo.ZipperFixFunctorCombo.ZipperRegFunctorCombo.StrictMemoFunctorCombo.StrictFunctorCombo.NonstrictMemoTypeCompose-0.9.1Control.ComposeinId2inIdunIdinO2inOunO~>O:.IdbaseControl.ApplicativegetConstConstRegularPFwrapunwrapPair:#:+:!InR'InL':*:!LiftunLift:+:InRInL:*:UnitVoidvoidFunitfstFsndFeitherFpairFunPairFinProdinProd2eitherF'HasLubFDerHoleyfillCextractLocfillZipperContextupup'downHasTrieTrietrieuntrie:->:memomemo2memo3:+!Right'Left':*!curry'uncurry'either'STriesTriesUntrie Data.Tuplefstsnd$fTraversablePair$fFoldablePair $fMonadPair$fApplicativePair $fFunctorPair$fTraversable:*: $fFoldable:*: $fMonad:*:$fApplicative:*:$fTraversable:+: $fFoldable:+:$fTraversableConst$fFoldableConst $fFunctorVoid $fHasLubF:*: $fHasLubFId $fHoley:. $fHoley:*: $fHoley:+: $fHoleyId $fHoleyConst Data.MaybeNothing $fRegularTree $fRegular[] $fHasTriePair $fHasTrie(->)$fHasTrieInteger $fHasTrieInt$fHasTrieTreeTrie $fHasTrieTree$fHasTrieListTrie $fHasTrie[] $fHasTrie:. $fHasTrie:+: $fHasTrie:*: $fHasTrieId$fHasTrieConst$fHasTrie(,,,) $fHasTrie(,,) $fHasTrieBool $fHasTrie(,)$fHasTrieEither $fHasTrie() Data.Eithereither $fHasTrie:+:! $fHasTrie:*:! $fHasTrieLift $fHasTrie:*! $fHasTrie:+!