úÎ$,! <      !"#$%&'()*+,-./0123456789:;None &479;>IN permits the overloading of Iso " and makes it easier | to wrap a * with a newtype without having to mention  all | the time.Generilization of `. 'Cell1 MyFunctor MyClass' takes values ^ of type 'MyFunctor a' with '(MyClass a,Typeable a)'. The Cell TypeWA polymorphic cell. Type 'Cell MyClass' can take a value of any type that conforms to MyClass and to <. It is defined in terms of . Similar to . Uses  to allow the content ^ of a # to be wrapped with a generic type. ContructorsWe can use 'makeCell "hello" :: MyType' if there is an instance ^ 'HasCell MyType (Cell Show)' (or any other class than show).Prisms Treats a [ as an unbounded sum type: 'c^?_Cell :: Maybe a' has the ^ value 'Just x' if x is of type a and c contains value x . If cell c' ^ has a value of any other type then a, 'c^?_Cell == Nothing'. Similar to I but operates on types that wrap a cell instead of ^ on the cell itself.  Similar to  but values are wrapped in type f inside the cell.  Analogous to  and  . Like † but disallows changing the type of the content of the cell. ^ facilitates type checking when the prism is not used for modification. Like   and as  .  Traversals Combinators =#Heterogenous Combinators'Comparing the content of cells/Creating Lenses3QuickCheck Helpers7 Utilities5Utility function to facilitate the implementation of  | functions in terms of  functions.8 Properties;Wrapping two values in cells does not change their equality9AWrapping two values in cells does not change their relative order;$Check all the QuickCheck properties.<  !"#$%&'()*+,-./0123456789:;;  !"#$%&'()*+,-./0123456789;<:  !"#$%&'()*+,-./0123456789;:  !"#$%&'()*+,-./0123456789:;=      !"#$%&'()*+,-./0123456789:;<=>?@exist_Fdqfon2bQ6V9nTnT0UBLoaData.ExistentialHasCellcellCell1CellmakeCell makeCell1_Cell_Cell'_Cell1_Cell1'asCellasCell1 traverseCell traverseCell' traverseCell1traverseCell1'mapCellmapCell' readCell1 readCell1'readCell readCell' apply2Cells apply2Cells' apply2Cells1 apply2Cells1' map2Cells map2Cells' map2Cells1 map2Cells1'read2CellsWithread2CellsWith'read2Cells1Withread2Cells1With' read2CellsH read2CellsH' read2Cells1H read2Cells1H' cell1Equal cell1Equal' cellEqual cellEqual' cellCompare cellCompare' cell1Compare cell1Compare'cellLens cellLens' cell1Lens cell1Lens' arbitraryCellarbitraryCell'arbitraryInstanceOfarbitraryInstanceOf' onIdentityprop_consistent_equalprop_consistent_compare$fHasCellCell1Cell1 run_testsbaseData.Typeable.InternalTypeable