TJ       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None!"&3457>IKLN The universal class -Dynamic type parameterized on a type universe6Partially witness a type constraint for a reified type,Witness a type constraint for a reified typeShow the name of type classesShow the name of a type class Equality on type representationsRepresentation of type a in a type universe t-This type can also be seen as a witness that a is a member of t (i.e.  t a); see (.(This class provides reification of type a in a universe t.  t a means that a) is in the type universe represented by t.-indexed type representationReification of type a in a type universe t Equality on type representationsType constructor matching. This function makes it possible to match on type representations without dealing with the underlying  representation.For example, to check that a  represents the type a -> Int for some a: is_atoi :: (TypeEq t t, IntType :<: t) => TypeRep t a -> Bool is_atoi t | [E ta, E tb] <- matchCon t , Just _ <- typeEq ta intType = True | otherwise = False Monadic version of  matchConM = return . matchCon 4 is convenient when matching types in a monad, e.g.: Ldo ... [E ta, E tb] <- matchConM t Dict <- typeEq ta tb ...!Default implementation of  for types that have a  instance",Witness a type constraint for a reified type#6Partially witness a type constraint for a reified type$Safe cast (does not use  unsafeCoerce)%$Safe generalized cast (does not use  unsafeCoerce)( Witness a  constraint for a reified type)Partially witness a  constraint for a reified type  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~7  !"#$%&'()*+,-./0123456 !"#$% &' ()*+,-./  012345~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None!"&3457>IKLNSub-universe relationIn general, a universe t is a sub-universe of u if u has the form t1 :+: t2 :+: ... :+: t/Cast a type representation to a larger universeNone!"&3457>IKLN4  "#$%&'()*+,-./0123456) "#$% &'6 ()*+,-./ 012345None!"&3457>IKLN 3Give a function monadic arguments and result type. ( m) will normally be indexed by ( a). :FunM m (a -> b -> ... -> Res x) = m a -> m b -> ... -> m x'Give a function a monadic result type. ( m) will normally be indexed by ( a). 6FunM m (a -> b -> ... -> Res x) = a -> b -> ... -> m x$Witness of the arity of a function.  will normally be indexed by ( a). Remove the ( marker at the result type of a function 5FromRes (a -> b -> ... -> Res x) = a -> b -> ... -> xPut a ( marker at the result type of a function 3ToRes (a -> b -> ... -> x) = a -> b -> ... -> Res x.Newtype marking the result of a N-ary functionGet the  of a type. The purpose is to be able to distinguish between functions and non-functions without having to handle all cases of a . Prove that  is the inverse of 3Attempt to prove that a type is not a function type>Lift a function to a similar function with monadic result type 6liftMonadic _ _ f = \a b ... x -> return (f a b ... x)$Run the result of a monadic function 4runMonadic run _ f = \a b ... x -> run (f a b ... x)1Compose a function with an N-ary monadic function 1compMonadic f _ g = \a b ... x -> f (g a b ... x)GLift a function to a similar function with monadic arguments and result hliftMonadic f = \ma mb ... mx -> do a <- ma b <- mb ... x <- mx return (f a b ... x)        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~opent_2V2sz9WIF9t1DzrN8H0tO9Data.TypeRep.Internal Data.TypeRepData.TypeRep.VarArgData.TypeRep.SubFunTypeListType FloatTypeIntTypeCharTypeBoolTypeAnyDynamicDynPWitnesspwitSymWitnesswitSym ShowClass showClassTypeEq typeEqSymTypeRep unTypeRepTypeabletypeRep'TRtypeReptypeEqmatchCon matchConMpwitSymDefaultwitpwitcastgcasttoDynfromDyn witTypeable pwitTypeablepAnypEqpOrdpShowpNum pIntegralboolTypecharTypeintType floatTypelistTypefunType dynToInteger$fPWitnessIntegralFunTypet$fPWitnessIntegralListTypet$fPWitnessIntegralFloatTypet$fPWitnessIntegralIntTypet$fPWitnessIntegralCharTypet$fPWitnessIntegralBoolTypet$fWitnessIntegralIntTypet$fPWitnessNumFunTypet$fPWitnessNumListTypet$fPWitnessNumFloatTypet$fPWitnessNumIntTypet$fPWitnessNumCharTypet$fPWitnessNumBoolTypet$fWitnessNumFloatTypet$fWitnessNumIntTypet$fPWitnessShowFunTypet$fPWitnessShowListTypet$fPWitnessShowFloatTypet$fPWitnessShowIntTypet$fPWitnessShowCharTypet$fPWitnessShowBoolTypet$fWitnessShowListTypet$fWitnessShowFloatTypet$fWitnessShowIntTypet$fWitnessShowCharTypet$fWitnessShowBoolTypet$fPWitnessOrdFunTypet$fPWitnessOrdListTypet$fPWitnessOrdFloatTypet$fPWitnessOrdIntTypet$fPWitnessOrdCharTypet$fPWitnessOrdBoolTypet$fWitnessOrdListTypet$fWitnessOrdFloatTypet$fWitnessOrdIntTypet$fWitnessOrdCharTypet$fWitnessOrdBoolTypet$fPWitnessEqFunTypet$fPWitnessEqListTypet$fPWitnessEqFloatTypet$fPWitnessEqIntTypet$fPWitnessEqCharTypet$fPWitnessEqBoolTypet$fWitnessEqListTypet$fWitnessEqFloatTypet$fWitnessEqIntTypet$fWitnessEqCharTypet$fWitnessEqBoolTypet$fPWitnessAnyFunTypet$fPWitnessAnyListTypet$fPWitnessAnyFloatTypet$fPWitnessAnyIntTypet$fPWitnessAnyCharTypet$fPWitnessAnyBoolTypet$fWitnessAnyFunTypet$fWitnessAnyListTypet$fWitnessAnyFloatTypet$fWitnessAnyIntTypet$fWitnessAnyCharTypet$fWitnessAnyBoolTypet$fPWitnessTypeableFunTypet$fPWitnessTypeableListTypet$fPWitnessTypeableFloatTypet$fPWitnessTypeableIntTypet$fPWitnessTypeableCharTypet$fPWitnessTypeableBoolTypet$fWitnessTypeableFunTypet$fWitnessTypeableListTypet$fWitnessTypeableFloatTypet$fWitnessTypeableIntTypet$fWitnessTypeableCharTypet$fWitnessTypeableBoolTypet$fTypeEqFunTypet$fTypeEqListTypet$fTypeEqFloatTypet$fTypeEqIntTypet$fTypeEqCharTypet$fTypeEqBoolTypet$fTypeablet(->) $fTypeablet[]$fTypeabletFloat$fTypeabletInt$fTypeabletChar$fTypeabletBool$fRenderFunType$fRenderListType$fRenderFloatType$fRenderIntType$fRenderCharType$fRenderBoolType$fShowClassTypeable$fShowClassIntegral$fShowClassNum$fShowClassShow$fShowClassOrd $fShowClassEq$fShowClassAny$fAnya $fShowDynamic $fEqDynamic$fPWitnessp:+:t$fWitnesspASTt$fWitnessp:+:t$fTypeEqEmptyt $fTypeEq:+:t$fSyntacticTypeRep $fShowTypeRep SubUniverseweakenUniverseFunM2FunM NonFunctionVarArgaritySym fromResInvSymArityFunResFunArgFromResToResResarity fromResInv nonFunction liftMonadic runMonadic compMonadic liftMonadic2$fVarArgFunType$fVarArgListType$fVarArgFloatType$fVarArgIntType$fVarArgCharType$fVarArgBoolType $fVarArg:+:synta_Ar5Ci7FOZom91ifIwbvDq1Language.Syntactic.SyntaxFullAST$fSubUniversesubsup$fSubUniversettbase Data.ProxyProxyconst_BbQ8QtIow526LwixdaWUyXData.ConstraintDict:+:prjProjectinj:<:E