úÎ6Í1ò0      !"#$%&'()*+,-./ Safe-Infered'An alias for convenience. A version of  for kind * -> *.  A version of   for kind * -> *.  Construct ek from a value of a type constructor applied to a type where the type constructor satisfies the constraint. =Apply a function requiring the constraint to the held value. A * -> * kinded version of  ’ which holds a value of a type constructor applied to a type, hiding the type constructor, and evidence for a constraint on the type constructor. An alias for convenience.  - foo :: ExistentialWith Show e => e -> IO () is equivalent to = foo :: (Existential e, ConstraintOf e ~ Show) => e -> IO () 5A type class to abstract over existential datatypes.  Example:   data EShow where $ EShow :: Show a => a -> EShow  " instance Existential EShow where $ type ConstraintOf EShow = Show  exists = EShow  apply f (EShow a) = f a   foo :: EShow $ foo = exists (Just 9 :: Maybe Int)  + main = apply print foo -- prints "Just 9" Note that had we given foo the type signature  4 foo :: (Existential e, ConstraintOf e ~ Show) => e @GHC would have output an error message, because the instance of  ( to use would have been ambiguous. (The   f 0   problem is the same as the 1 0 2 problem.)  Construct e3 from a value of a type satisfying the constraint. =Apply a function requiring the constraint to the held value. CA datatype which holds a value of a type satisfying the constraint ck, hiding the type, and evidence for the constraint, so that it can be retrieved by pattern matching later.  Example:  foo :: Exists Show $ foo = Exists (Just 9 :: Maybe Int)  % printExists :: Exists Show -> IO () " printExists (Exists e) = print e  + main = printExists foo -- prints "Just 9" \Translate between different existential datatypes holding evidence for the same constraint. `Translate between different existential datatypes holding evidence for the same constraint on a * -> * kinded type constructor. 3  ( c) = c4   (  c) = c 5364    5364 Safe-Infered !"#$%&'( !"#$%&'( !"#$%&'( !"#$%&'( Safe-Infered)+An empty constraint which implies nothing. + and ) form a type-level monoid with ) as the identity element. * The same as +. +,Combine two constraint constructors of kind Ç -> , where Ç is any kind. This is the same as   type (c :&: d) a = (c a, d a) )except that it can be partially applied.  1 f :: ((Eq :&: Enum :&: Bounded) a) => a -> Bool is equivalent to - f :: (Eq a, Enum a, Bounded a) => a -> Bool )*+78)*++*))*+78 Safe-Infered,A datatype containing any * -> *$ kinded type constructor applied to a . You can't do anything with it. .'A datatype containing anything. You can't do anything with it. ,-./9:,-././,-,-./9: Safe-Infered;   < = =>   ? = @A  , = )B   . = )C  D = )E   D = )FGHIJKLMNOPQRSTUVWXYZ[\]^;>ABCE   FGHIJKLMNOPQRSTUVWXYZ[\]^;>ABCE_      !"#$%&'()*+,-./01223345647849:;<=>?@ABC4DE4DFG4HI4JKLMNOPQRSTUVWXYZ[\]^_`abcdefghij exists-0.1 Data.ExistsData.Exists.DefaultsControl.Constraint.Combine Data.AnythingData.Exists.Internalghc-primGHC.Prim ConstraintExistentialWith1 Existential1 ConstraintOf1exists1apply1Exists1ExistentialWith Existential ConstraintOfexistsapplyExists translate translate1 showDefaultshowsPrecDefault fmapDefault foldDefaultfoldMapDefault foldrDefault foldlDefault foldr1Default foldl1DefaulttraverseDefaultsequenceADefault mapMDefaultsequenceDefaultcontramapDefaultduplicateDefaultextractDefault askDefault traceDefault posDefault peekDefault peeksDefault seekDefault seeksDefaultcopointDefaultEmptyAnd:&: Anything1AnythingbaseGHC.Base.GHC.Showshow Text.Readread$fExistential1Exists1$fExistentialExists$fExistentialWith1ce$fExistentialWithce $fEmptyka $f:&:kcda$fShowAnything1$fShowAnything$fExistentialSomeException GHC.Exception SomeException Exception$fExistentialDynamic Data.DynamicDynamicData.Typeable.InternalTypeable$fExistential1Anything1$fExistentialAnything$fExistential1AnyAny$fExistentialAny$fCopointedExists1$fComonadStoresExists1$fComonadExists1$fExtendExists1$fFunctorExists1$fComonadTracedmExists1$fComonadExists10$fExtendExists10$fFunctorExists10$fComonadEnveExists1$fComonadExists11$fExtendExists11$fFunctorExists11$fComonadExists12$fExtendExists12$fFunctorExists12$fExtendExists13$fFunctorExists13$fContravariantExists1$fTraversableExists1$fFoldableExists1$fFunctorExists14$fFoldableExists10$fFunctorExists15 $fShowExists