Prog "Traversal" ["Prelude"] [TypeSyn ("Traversal","Traversable") Public [0,1] (FuncType (TVar 0) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 1],FuncType (TCons ("Prelude","[]") [TVar 1]) (TVar 0)])),TypeSyn ("Traversal","FunList") Private [0] (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0]))] [Func ("Traversal","noChildren") 1 Public (FuncType (TVar 0) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 1],FuncType (TCons ("Prelude","[]") [TVar 1]) (TVar 0)])) (Rule [] (Var 0)),Func ("Traversal","children") 1 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 1],FuncType (TCons ("Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (TVar 0) (TCons ("Prelude","[]") [TVar 1]))) (Rule [] (Var 0)),Func ("Traversal","replaceChildren") 1 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 1],FuncType (TCons ("Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (TVar 0) (FuncType (TCons ("Prelude","[]") [TVar 1]) (TVar 0)))) (Rule [] (Var 0)),Func ("Traversal","mapChildren") 3 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 1],FuncType (TCons ("Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TVar 1)) (FuncType (TVar 0) (TVar 0)))) (Rule [] (Var 0)),Func ("Traversal","family") 2 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 0],FuncType (TCons ("Prelude","[]") [TVar 0]) (TVar 0)])) (FuncType (TVar 0) (TCons ("Prelude","[]") [TVar 0]))) (Rule [] (Var 0)),Func ("Traversal","childFamilies") 3 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 1],FuncType (TCons ("Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 1],FuncType (TCons ("Prelude","[]") [TVar 1]) (TVar 1)])) (FuncType (TVar 0) (TCons ("Prelude","[]") [TVar 1])))) (Rule [] (Var 0)),Func ("Traversal","mapFamily") 2 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 0],FuncType (TCons ("Prelude","[]") [TVar 0]) (TVar 0)])) (FuncType (FuncType (TVar 0) (TVar 0)) (FuncType (TVar 0) (TVar 0)))) (Rule [] (Var 0)),Func ("Traversal","mapChildFamilies") 2 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 1],FuncType (TCons ("Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 1],FuncType (TCons ("Prelude","[]") [TVar 1]) (TVar 1)])) (FuncType (FuncType (TVar 1) (TVar 1)) (FuncType (TVar 0) (TVar 0))))) (Rule [] (Var 0)),Func ("Traversal","evalFamily") 2 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 0],FuncType (TCons ("Prelude","[]") [TVar 0]) (TVar 0)])) (FuncType (FuncType (TVar 0) (TCons ("Prelude","Maybe") [TVar 0])) (FuncType (TVar 0) (TVar 0)))) (Rule [] (Var 0)),Func ("Traversal","evalChildFamilies") 2 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 1],FuncType (TCons ("Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 1],FuncType (TCons ("Prelude","[]") [TVar 1]) (TVar 1)])) (FuncType (FuncType (TVar 1) (TCons ("Prelude","Maybe") [TVar 1])) (FuncType (TVar 0) (TVar 0))))) (Rule [] (Var 0)),Func ("Traversal","fold") 2 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 0],FuncType (TCons ("Prelude","[]") [TVar 0]) (TVar 0)])) (FuncType (FuncType (TVar 0) (FuncType (TCons ("Prelude","[]") [TVar 1]) (TVar 1))) (FuncType (TVar 0) (TVar 1)))) (Rule [] (Var 0)),Func ("Traversal","foldChildren") 5 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 1],FuncType (TCons ("Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 1],FuncType (TCons ("Prelude","[]") [TVar 1]) (TVar 1)])) (FuncType (FuncType (TVar 0) (FuncType (TCons ("Prelude","[]") [TVar 2]) (TVar 3))) (FuncType (FuncType (TVar 1) (FuncType (TCons ("Prelude","[]") [TVar 2]) (TVar 2))) (FuncType (TVar 0) (TVar 3)))))) (Rule [] (Var 0)),Func ("Traversal","replaceChildrenIO") 1 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 1],FuncType (TCons ("Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (TVar 0) (FuncType (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TVar 1]]) (TCons ("Prelude","IO") [TVar 0])))) (Rule [] (Var 0)),Func ("Traversal","mapChildrenIO") 3 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 1],FuncType (TCons ("Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TCons ("Prelude","IO") [TVar 1])) (FuncType (TVar 0) (TCons ("Prelude","IO") [TVar 0])))) (Rule [] (Var 0)),Func ("Traversal","mapFamilyIO") 3 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 0],FuncType (TCons ("Prelude","[]") [TVar 0]) (TVar 0)])) (FuncType (FuncType (TVar 0) (TCons ("Prelude","IO") [TVar 0])) (FuncType (TVar 0) (TCons ("Prelude","IO") [TVar 0])))) (Rule [] (Var 0)),Func ("Traversal","mapChildFamiliesIO") 2 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 1],FuncType (TCons ("Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 1],FuncType (TCons ("Prelude","[]") [TVar 1]) (TVar 1)])) (FuncType (FuncType (TVar 1) (TCons ("Prelude","IO") [TVar 1])) (FuncType (TVar 0) (TCons ("Prelude","IO") [TVar 0]))))) (Rule [] (Var 0)),Func ("Traversal","evalFamilyIO") 2 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 0],FuncType (TCons ("Prelude","[]") [TVar 0]) (TVar 0)])) (FuncType (FuncType (TVar 0) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TVar 0]])) (FuncType (TVar 0) (TCons ("Prelude","IO") [TVar 0])))) (Rule [] (Var 0)),Func ("Traversal","evalChildFamiliesIO") 2 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 1],FuncType (TCons ("Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 1],FuncType (TCons ("Prelude","[]") [TVar 1]) (TVar 1)])) (FuncType (FuncType (TVar 1) (TCons ("Prelude","IO") [TCons ("Prelude","Maybe") [TVar 1]])) (FuncType (TVar 0) (TCons ("Prelude","IO") [TVar 0]))))) (Rule [] (Var 0))] []