traversalArg :: Int | On what position are we traversing?
|
traversalCo :: Bool | covariant?
|
traversalName :: String | name of the traversal function
|
traversalId :: Trav | Identity traversal
|
traversalDirect :: Trav | Traversal of a
|
traversalFunc :: String -> Trav -> Trav | Apply the sub-traversal function
|
traversalPlus :: Trav -> Trav -> Trav | Apply two non-identity traversals in sequence
|
traverseArrow :: Trav -> Trav -> Trav | Traverse a function type
|
traverseTuple :: [Exp] -> Exp | Construct a tuple from applied traversals
|
traverseCtor :: String -> [Exp] -> Exp | Construct a data type from applied traversals
|
traverseFunc :: Pat -> Exp -> Clause | Construct a clause of the traversal function
|