(a -> b) -> [a] -> [b] -base -xhtml +syb

everywhere :: (forall a. Data a => a -> a) -> (forall a. Data a => a -> a)
syb Data.Generics.Schemes
Apply a transformation everywhere in bottom-up manner
everywhere' :: (forall a. Data a => a -> a) -> (forall a. Data a => a -> a)
syb Data.Generics.Schemes
Apply a transformation everywhere in top-down manner
extQ :: (Typeable a, Typeable b) => (a -> q) -> (b -> q) -> a -> q
syb Data.Generics.Aliases
Extend a generic query by a type-specific case
ext1Q :: (Data d, Typeable1 t) => (d -> q) -> (forall e. Data e => t e -> q) -> d -> q
syb Data.Generics.Aliases
Type extension of queries for type constructors
ext2Q :: (Data d, Typeable2 t) => (d -> q) -> (forall d1 d2. (Data d1, Data d2) => t d1 d2 -> q) -> d -> q
syb Data.Generics.Aliases
Type extension of queries for type constructors
mkQ :: (Typeable a, Typeable b) => r -> (b -> r) -> a -> r
syb Data.Generics.Aliases
Make a generic query; start from a type-specific case; return a constant otherwise
extT :: (Typeable a, Typeable b) => (a -> a) -> (b -> b) -> a -> a
syb Data.Generics.Aliases
Extend a generic transformation by a type-specific case
mkT :: (Typeable a, Typeable b) => (b -> b) -> a -> a
syb Data.Generics.Aliases
Make a generic transformation; start from a type-specific case; preserve the term otherwise
ext1T :: (Data d, Typeable1 t) => (forall e. Data e => e -> e) -> (forall f. Data f => t f -> t f) -> d -> d
syb Data.Generics.Aliases
Type extension of transformations for unary type constructors
ext2T :: (Data d, Typeable2 t) => (forall e. Data e => e -> e) -> (forall d1 d2. (Data d1, Data d2) => t d1 d2 -> t d1 d2) -> d -> d
syb Data.Generics.Aliases
Type extension of transformations for unary type constructors