úÎ3s-‡E      !"#$%&'()*+,-./0123456 7 8 9 : ; < = > ? @ A B C D  experimentalconal@conal.net Safe-InferedSum on unary type constructors #Product on unary type constructors 'Unit type constructor (one inhabitant) Empty/'zero type constructor (no inhabitants) The unit value EF    EF experimentalconal@conal.net Safe-InferedGHGH experimentalconal@conal.net Safe-InferedOA 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 !;Location, i.e., one-hole context and a value for the hole. "Alternative interface for .  Fill a hole All extractions !"IJKLM !"! " !"IJKLM experimentalconal@conal.net Safe-Infered$#Derivative, i.e., one-hole context % Fill a hole &All extractions 'Alternative interface for %. #$%&'NOPQR#$%&'#$%&'#$%&'NOPQR experimentalconal@conal.net Safe-Infered((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 *. S if empty context. ()*+,()*+,)(*+,()*+, experimentalconal@conal.net Safe-Infered-./0TU-./0-./0-./0TU experimentalconal@conal.net Safe-Infered1(Zipper for a regular type. Also called "location" 2Context for a regular type 3&Move upward. Error if empty context. 4 Variant of 3. S if empty context. 12345123452134512345  experimentalconal@conal.net Safe-Infered6(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. ;Trie-based function memoizer <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. 6789:;<=VWXYZ[\]^_`abcdefg6789:;<=6789:;<=6789:;<=VWXYZ[\]^_`abcdefg  experimentalconal@conal.net Safe-Infered>(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 BTrie-based function memoizer 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. >?@ABCDhijklmnopqrs>?@ABCD>?@ABCD>?@ABCDhijklmnopqrst           !"#$%&'()*+,-.*)+,./01234567/0123 8 9 : ; < = > ? 8 @ A B = > ?CDEFGHIJKGHIJKLMNO P Q R S T U V W X Y Z [ \ ] ^ _ ` a V W X Y Z [ \ ] ^ _ ` abfunctor-combo-0.0.7FunctorCombo.FunctorFunctorCombo.LubFunctorCombo.DerivativeFunctorCombo.HoleyFunctorCombo.DHoleyFunctorCombo.ZipperFixFunctorCombo.RegularFunctorCombo.ZipperRegFunctorCombo.StrictMemoFunctorCombo.NonstrictMemoTypeCompose-0.9.1Control.ComposeinId2inIdunIdinO2inOunO~>O:.IdbaseControl.ApplicativegetConstConst:+:InRInL:*:UnitVoidvoidFuniteitherFpairFunPairFinProdinProd2HasLubFDerHoleyfillCextractLocfillZipperContextupup'downRegularPFwrapunwrapHasTrieTrietrieuntrie enumeratememomemo2memo3STriesTriesUntrie$fApplicative:*: $fFunctorVoid $fHasLubF:*: $fHasLubFId $fHoley:. $fHoley:*: $fHoley:+: $fHoleyId $fHoleyConst Data.MaybeNothing $fRegularTree $fRegular[] $fHasTrie(->)$fHasTrieInteger $fHasTrieInt$fHasTrieTreeTrie $fHasTrieTree$fHasTrieListTrie $fHasTrie[] $fHasTrie:. $fHasTrie:+: $fHasTrie:*: $fHasTrieId$fHasTrieConst$fHasTrie(,,,) $fHasTrie(,,) $fHasTrieBool $fHasTrie(,)$fHasTrieEither $fHasTrie()