úÎ!=ú:Æ,      !"#$%&'()*+None-.HUV  classyplate†This type family sets which fields should not be traversed when trying to generate automatically pruned versions of classy traversal. classyplateYInstantiate this type family to signal what elements does your operation operate on. If AppSelector c t is True, there should be a c t‚ instance. AppSelector should be a total type function for a given class, at least for all the types that can possibly accessed. classyplate]This type decides if the subtree of an element cannot contain an element that is transformed.None,-.27=>?@AHSUVXkê classyplateŸA class for traversals that use a polymorphic function to visit all applicable elements but only visit the parts where the applicable elements could be found. classyplateXA class for traversals that use a polymorphic function to visit all applicable elements., classyplateTA class for applying a function if the class of the functions allows the application   None(T- classyplate+The information we need from a constructor. classyplate_Creates ClassyPlate instances for a datatype. Can specify which fields should not be traversed.. classyplate Creates the  ClassyPlate/ classyplate Creates an  IgnoredFields8 type instance according to the ignored fields specified0 classyplateFGenerates the body of the instance definitions for normal classyplates1 classyplateCGenerates the body of the instance definition for auto classy plate2 classyplateCreates the clause for the classyTraverse_ function for one constructor: ›classyTraverse_ t f (Add e1 e2) = app (undefined :: FlagToken (AppSelector c (Expr dom stage))) t f $ Add (classyTraverse_ t f e1) (classyTraverse_ t f e2)3 classyplateCreates the clause for the classyTraverseM_ function for one constructor: hclassyTraverseM_ t f (Ann ann e) = appM (undefined :: FlagToken (AppSelector c (Ann e dom stage))) t f = <(Ann <$ return ann  * applyM t f e)4 classyplateCreates the clause for the descend_ function for one constructor5 classyplateCreates the clause for the  descendM_ function for one constructor6 classyplateCreates the clause for the smartTraverse_ function for one constructor7 classyplateCreates the clause for the smartTraverseM_ function for one constructor8 classyplate Gets the name of a type variable9 classyplate6Extracts the necessary information from a constructor.None(²   None,.=>?@AHSVXk9Ð  classyplateEA class for the simple case when the applied function is monomorphic.  classyplate=Apply a monomorphic function on a polymorphic data structure.! classyplatePGo down one level in the data structure and apply the given polymorphic function# classyplateNTraverse the data structure in a top-down fashion with a polymorphic function.% classyplate8Traverse the data structure with a polymorphic function.& classyplate@Traverse the data structure with a polymorphic monadic function.' classyplatefTraverse the data structure selectively with a function specifying if need to go down on the subtrees.( classyplatenTraverse the data structure selectively with a monadic function specifying if need to go down on the subtrees.) classyplate~Traverse only those parts of the data structure that could possibly contain elements that the given function can be applied on* classyplate†Traverse only those parts of the data structure that could possibly contain elements that the given monadic function can be applied on  !"#$%&'()*  !"#$%&'()*None:n !"#$%&'()*:      !"#$%&'()*+,-./0123456789:;<=>?@A*classyplate-0.3.2.0-DXP2g8iweam3slfZI4iluV#Data.Generics.ClassyPlate.TypePruneData.Generics.ClassyPlate.CoreData.Generics.ClassyPlate.TH Data.Generics.ClassyPlate.Common"Data.Generics.ClassyPlate.GenerateData.Generics.ClassyPlate IgnoredFields AppPruning AppSelectorClassIgnoresSubtreeSmartClassyPlatesmartTraverse_smartTraverseM_ ClassyPlate bottomUp_ bottomUpM_descend_ descendM_topDown_ topDownM_appappMappTDappTDM FlagTokenClsTokenGoodOperationForAutoGoodOperationFor $fAppFalsecb $fAppTruecb$fSmartClassyPlatecTruebClassyPlateConfigMakeAll OnlyDirectmakeClassyPlatemakeClassyPlateConfigTypEq MonoMatchmonoAppdescenddescendMtopDowntopDownMbottomUp bottomUpMselectiveTraverseselectiveTraverseM smartTraversesmartTraverseM $fMonoMatchaaAppConRepmakeAutoCPForDataTypemakeIgnoredFieldsTF generateDefsgenerateAutoDefsgenerateAppClausegenerateAppMClausegenerateDescendAppClausegenerateDescendMAppClausegenerateAppAutoClausegenerateAppAutoMClause getTVName getConRep