úÎ!¼h!      NoneD!None1;=#Produce a list of constructor names"SafeV       None1ÛTypeL name arr! represents the type constructor name, which has arity arr.Recursive field.#$%None &'DFTµ 5If a name in this set is encountered, stop recursing.)Expand primitive type constructors (i.e. & !’ )?If '-, type synonyms are present in the resulting (; if )N, a synonym will be expanded and its RHS will appear in the out-list instead. with default options.<Produce a string representation of the forest generated by $(ttReifyOpts opts ''SomeName) . Useful for debugging purposes. with default options.Embed the produced ( as an expression. with default opts] is useful for the usecase which I had in mind when I originally wrote this package, namely:ëGiven some datatype, I need a topologically sorted list of all types contained in that datatype for which an instance of some class must be defined if I wish to define an instance for that datatype (and likewise for each subtype, etc.)Here's an example using s, which is a useful datatype for an example, as it's both mutually recursive and refers to other recursive types..:m +Language.Haskell.TypeTree.ExampleDatatypes$mapM_ print $(ttConnComp ''CondTree)AcyclicSCC ([] :: * -> *,[])AcyclicSCC (Bool :: *,[]),AcyclicSCC (Condition :: * -> *,[Bool :: *])AcyclicSCC (Maybe :: * -> *,[])¼CyclicSCC [(CondBranch :: * -> * -> * -> *,[Condition :: * -> *,CondTree :: * -> * -> * -> *,Maybe :: * -> *]),(CondTree :: * -> * -> * -> *,[[] :: * -> *,CondBranch :: * -> * -> * -> *])] [defaultOpts = ReifyOpts { stop = S.fromList [] , prim = False , synonyms = False }   with default options. Build a (2 of constructor names contained in the given type.  *      !"#$%&'()*+,-.,-/012,-34(type-tree-0.2.0.1-KtBmYETtlbsEVU7NNs3PzyLanguage.Haskell.TypeTree*Language.Haskell.TypeTree.ExampleDatatypes&Language.Haskell.TypeTree.CheatingLift"Language.Haskell.TypeTree.DatatypeLanguage.Haskell.TypeTree.LeafGHC.PrimInt#CondTree IsDatatype asDatatype ConditionVarLitCAnd CondBranchcondBranchConditioncondBranchIfTruecondBranchIfFalseCondNode condTreeDatacondTreeConstraintscondTreeComponentsLeafTypeL Recursive ReifyOptsstopprimsynonyms ttDescribettDescribeOptsttLit ttLitOpts ttConnCompttConnCompOpts defaultOptsttReify ttReifyOptsliftNamegetTypesliftTypeleafNameunRecghc-prim GHC.TypesIntTruecontainers-0.5.10.2 Data.TreeForestFalse