F?v^      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\] None!"&'(+246=JKM  Member x xs or x " xs indicates that x is an element of xs. Unicode flipped alias for  The position of x in the type level set xs./Embodies a type equivalence to ensure that the  points the first element.! ^_`abcd     ^_`abcd(c) Fumiaki Kinoshita 2015BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com> experimental non-portableNone!"&'(*+234=HJKMThe extensible sum typeChange the wrapper.O(log n) lift a value.O(1) Naive pattern matchThere is no empty union. 3A traversal that tries to point a specific element.  ef   ef(c) Fumiaki Kinoshita 2015BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com> experimental non-portableNone!"&'(*+246=HJKM!4Guarantees the all elements satisfies the predicate.#SGiven a function that maps types to values, we can "collect" entities all you want.%%Composition for a class and a wrapper&The extensible product type)O(1) Extract the head element.*O(n)! Extract the tail of the product.+)Split a product to the head and the tail.,O(log n) Add an element to a product.-:Transform every elements in a union, preserving the order..g for heterogeneous product/h for heterogeneous product0Combine all elements.1Traverse all elements.2O(log n) Pick up an elemtnt.3O(log n) A lens for a specific element.4O(log n)( A lens for a value in a known position.'!"#$ijklmnopq%&'()*+,-./0123r4stuvwxyz{!"#$%&'()*+,-./01234&(',)*+-./01234#$!"%!"#$ijklmnopq%&(')*+,-./0123r4stuvwxyz{,(c) Fumiaki Kinoshita 2015BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com> experimental non-portableNone'+=JK51Turn a wrapper type into one clause that returns a.8$Applies a function to the result of 5.9O(log n) Perform pattern matching.:Flipped 956789:56789:56798:56789::(c) Fumiaki Kinoshita 2015BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com> experimental non-portableNone(+-./JK= Just a value.@O(log n) Add a plain value to a product.AExtract a plain value.BEmbed a plain value.C)Naive pattern matching for a plain value.DO(log n)' A lens for a plain value in a product.E#Prepend a clause for a plain value.;<=>?@ABCDE|}~ ;<=>?@ABCDE =>?<;@ABCDE ;<=>?@ABCDE|}~@E(c) Fumiaki Kinoshita 2015BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com> experimental non-portableNone(+HJKMFFlipped Whttp://hackage.haskell.org/package/kan-extensions-4.1.0.1/docs/Data-Functor-Yoneda.htmlYonedaI)A much more efficient representation for Union of s.LO(log n) Embed a functor.MFuse F" to retract a substantial functor.N for the content.OPrepend a clause for 5 (F x) as well as (<?!).P fast fmap FGHIJKLMNOP FGHIJKLMNO IJKPLFGHMNOFGHIJKLMNOPO(c) Fumiaki Kinoshita 2015BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com> experimental non-portableNone !"(+234HJKMQFlipped Qhttp://hackage.haskell.org/package/kan-extensions/docs/Data-Functor-Coyoneda.htmlCoyonedaS)A much more efficient representation for S of s.VO(log n) Embed a value.W for the content.XPrepend a clause for 5 (Q x) as well as (<?!). fast fmap QRSTUVWXQRSTUVWXXSTUVQRWQRSTUVWXX(c) Fumiaki Kinoshita 2015BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com> experimental non-portableNone&+3JKMYys contains xsZUnicode alias for Y['Reify the inclusion of type level sets.\ O(m log n) Select some elements.]O(log n) Embed to a larger union.YZ[\]YZ[\]ZY[\]YZ[\] (c) Fumiaki Kinoshita 2015BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com> experimental non-portableNone+JK6  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEYZ[\]      !"#$%&'()*+,-./0123456789:;<=>??@ABCDEFFGHIJKLMNNOPPQRSTUVWWXXQYZ[\]^_`abcdefghijkijlmmnoopqqrstuvwxyz{|}~iiextensible-0.2.1Data.Extensible.InternalData.Extensible.SumData.Extensible.ProductData.Extensible.MatchData.Extensible.PlainData.Extensible.LeagueData.Extensible.UnionData.Extensible.InclusionData.ExtensibleSuccLookupRecordtheIntNatNotFoundSDNatDNatZeroTailHalfMember membership∈NavNavRNavLHerePosition runPositioncomparePositionnavigateherenavLnavR lemmaHalfTail:|UnionAthoistembed<:|exhaustpickedForall generateForGenerategenerate ClassComp:*TreeNilhheadhtailhuncons<:*hmaphzipWith hzipWith3hfoldMap htraversehlookupsectorsectorAtMatchrunMatchmapMatchmatchcaseOfOneOfAllOfK0getK0<%pluckbury<%|record