úÎ7`3Ê      None+,DQR†This type family sets which fields should not be traversed when trying to generate automatically pruned versions of classy traversal.YInstantiate 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.]This type decides if the subtree of an element cannot contain an element that is transformed. !"#$%& !"#$%&None*+,059:;<=DOQRTf EA class for the simple case when the applied function is monomorphic.=Apply a monomorphic function on a polymorphic data structure. 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. XA class for traversals that use a polymorphic function to visit all applicable elements.'TA class for applying a function if the class of the functions allows the application8Traverse the data structure with a polymorphic function.@Traverse the data structure with a polymorphic monadic function.LTraverse only those parts that are selected by the given selector function. STraverse only those parts that are selected by the given monadic selector function.~Traverse only those parts of the data structure that could possibly contain elements that the given function can be applied on†Traverse only those parts of the data structure that could possibly contain elements that the given monadic function can be applied on ( ')*+   (  ')*+None,+The information we need from a constructor._Creates ClassyPlate instances for a datatype. Can specify which fields should not be traversed.- Creates the  ClassyPlate. Creates an  IgnoredFields8 type instance according to the ignored fields specified/FGenerates the body of the instance definitions for normal classyplates0CGenerates the body of the instance definition for auto classy plate1Creates 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 (apply t f e1) (apply t f e2)2Creates 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)3Creates the clause for the selectiveTraverse_ function for one constructor: selectiveTraverse_ t f pred val=(CB b) = appIf t f pred val (CB (applySelective t f pred b))@4Creates the clause for the selectiveTraverseM_ function for one constructor:5Creates the clause for the smartTraverse_ function for one constructor6Creates the clause for the smartTraverseM_ function for one constructor7 Gets the name of a type variable86Extracts the necessary information from a constructor.,9-.:/;01<=2>?3@A4BC5D6E78,9-.:/;01<=2>?3@A4BC5D6E78None F      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJK*classyplate-0.1.0.0-7CzwC2TkRUs64jGaVI301F#Data.Generics.ClassyPlate.TypePruneData.Generics.ClassyPlate.CoreData.Generics.ClassyPlate.THData.Generics.ClassyPlate IgnoredFields AppPruning AppSelectorClassIgnoresSubtree MonoMatchmonoAppSmartClassyPlatesmartTraverse_smartTraverseM_ ClassyPlateclassyTraverse_classyTraverseM_selectiveTraverse_selectiveTraverseM_appappM FlagTokenGoodOperationForAutoGoodOperationForclassyTraverseclassyTraverseMselectiveTraverseselectiveTraverseM smartTraversesmartTraverseMappIfappIfM $fMonoMatchaa$fSmartClassyPlatecTrueb $fAppFalsecb $fAppTruecbmakeClassyPlateGetElementTypesFieldGetElementTypesFieldsGetElementTypesConsGetElementTypesGetMemberTypes MemberTypes AnySelectedAppTypEqappPredappPredMClsTokenConRepmakeAutoCPForDataTypemakeIgnoredFieldsTF generateDefsgenerateAutoDefsgenerateAppClausegenerateAppMClausegenerateSelectiveAppClausegenerateSelectiveAppMClausegenerateAppAutoClausegenerateAppAutoMClause getTVName getConRepmakeNormalCPForDataType generateCtxgenerateAutoCtxgenerateAppExprgenerateRecombineExprgenerateAppMExprgenerateRecombineMExprgenerateAppIfExprgenerateSelectiveRecombineExprgenerateAppIfMExprgenerateSelectiveRecombineMExprgenerateAutoRecombineExprgenerateAutoRecombineMExpr