Prog "Traversal" ["Prelude"] [TypeSyn ((Nothing,Nothing,"Traversal","Traversable")) Public [0,1] (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]) (TVar 0)])),TypeSyn ((Nothing,Nothing,"Traversal","FunList")) Private [0] (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]))] [Func ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])),"Traversal","noChildren")) 1 Public (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]) (TVar 0)])) (Rule [(Just (TVar 0),1)] (Comb ConsCall ((Nothing,Just (FuncType (TVar 4) (FuncType (FuncType (TVar 6) (TVar 0)) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)]))),"Prelude","(,)")) [Comb ConsCall ((Nothing,Just (TVar 4),"Prelude","[]")) [],Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TVar 0) (FuncType (TVar 6) (TVar 0))),"Prelude","const")) [Var ((Just (TVar 0),1))]])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]))),"Traversal","children")) 1 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]) (TVar 0)])) (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])),1)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1])) (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1])))),"Prelude",".")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1])),"Prelude","fst")) [],Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])),1))])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)))),"Traversal","replaceChildren")) 1 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]) (TVar 0)])) (FuncType (TVar 0) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]) (TVar 0)))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])),1)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0))) (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0))))),"Prelude",".")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0))),"Prelude","snd")) [],Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])),1))])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TVar 1)) (FuncType (TVar 0) (TVar 0)))),"Traversal","mapChildren")) 3 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TVar 1)) (FuncType (TVar 0) (TVar 0)))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])),1),(Just (FuncType (TVar 1) (TVar 1)),2),(Just (TVar 0),3)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0))) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)))),"Traversal","replaceChildren")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])),1))],Var ((Just (TVar 0),3))],Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 1) (TVar 1)) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]))),"Prelude","map")) [Var ((Just (FuncType (TVar 1) (TVar 1)),2)),Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]))),"Traversal","children")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])),1))],Var ((Just (TVar 0),3))]]])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Traversal","family")) 2 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TVar 0)])) (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])),1),(Just (TVar 0),2)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])))),"Traversal","familyFL")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])),1)),Var ((Just (TVar 0),2)),Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1)])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1])))),"Traversal","childFamilies")) 3 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]) (TVar 1)])) (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1])))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])),1),(Just (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1)])),2),(Just (TVar 0),3)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1)])) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]))))),"Traversal","childFamiliesFL")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])),1)),Var ((Just (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1)])),2)),Var ((Just (TVar 0),3)),Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]),"Prelude","[]")) []])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])) (FuncType (FuncType (TVar 0) (TVar 0)) (FuncType (TVar 0) (TVar 0)))),"Traversal","mapFamily")) 2 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TVar 0)])) (FuncType (FuncType (TVar 0) (TVar 0)) (FuncType (TVar 0) (TVar 0)))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])),1),(Just (FuncType (TVar 0) (TVar 0)),2)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 0)) (FuncType (FuncType (TVar 0) (TVar 0)) (FuncType (TVar 0) (TVar 0)))),"Prelude",".")) [Var ((Just (FuncType (TVar 0) (TVar 0)),2)),Comb FuncCall ((Nothing,Just (FuncType (FuncType (FuncType (TVar 0) (TVar 0)) (FuncType (TVar 0) (TVar 0))) (FuncType (FuncType (TVar 0) (TVar 0)) (FuncType (TVar 0) (TVar 0)))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])) (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])) (FuncType (FuncType (TVar 0) (TVar 0)) (FuncType (TVar 0) (TVar 0))))),"Traversal","mapChildFamilies")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])),1)),Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])),1))],Var ((Just (FuncType (TVar 0) (TVar 0)),2))]])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1)])) (FuncType (FuncType (TVar 1) (TVar 1)) (FuncType (TVar 0) (TVar 0))))),"Traversal","mapChildFamilies")) 2 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]) (TVar 1)])) (FuncType (FuncType (TVar 1) (TVar 1)) (FuncType (TVar 0) (TVar 0))))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])),1),(Just (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1)])),2)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (FuncType (TVar 1) (TVar 1)) (FuncType (TVar 0) (TVar 0))) (FuncType (FuncType (FuncType (TVar 1) (TVar 1)) (FuncType (TVar 1) (TVar 1))) (FuncType (FuncType (TVar 1) (TVar 1)) (FuncType (TVar 0) (TVar 0))))),"Prelude",".")) [Comb (FuncPartCall 2) ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TVar 1)) (FuncType (TVar 0) (TVar 0)))),"Traversal","mapChildren")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])),1))],Comb (FuncPartCall 1) ((Nothing,Just (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1)])) (FuncType (FuncType (TVar 1) (TVar 1)) (FuncType (TVar 1) (TVar 1)))),"Traversal","mapFamily")) [Var ((Just (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1)])),2))]])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])) (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 0])) (FuncType (TVar 0) (TVar 0)))),"Traversal","evalFamily")) 2 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TVar 0)])) (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","Maybe")) [TVar 0])) (FuncType (TVar 0) (TVar 0)))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])),1),(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 0])),2)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])) (FuncType (FuncType (TVar 0) (TVar 0)) (FuncType (TVar 0) (TVar 0)))),"Traversal","mapFamily")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])),1)),Comb (FuncPartCall 1) ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 0])) (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])) (FuncType (TVar 0) (TVar 0)))),"Traversal","evalFamily.g.19")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 0])),2)),Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])),1))]])),Func ((Nothing,Just (FuncType (FuncType (TVar 100) (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 100])) (FuncType (FuncType (TVar 100) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 100],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 100]) (TVar 100)])) (FuncType (TVar 100) (TVar 100)))),"Traversal","evalFamily.g.19")) 3 Private (FuncType (FuncType (TVar 100) (TCons ((Nothing,Nothing,"Prelude","Maybe")) [TVar 100])) (FuncType (FuncType (TVar 100) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 100],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 100]) (TVar 100)])) (FuncType (TVar 100) (TVar 100)))) (Rule [(Just (FuncType (TVar 100) (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 100])),1),(Just (FuncType (TVar 100) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 100],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 100]) (TVar 100)])),2),(Just (TVar 100),3)] (Comb FuncCall ((Nothing,Just (FuncType (TVar 100) (FuncType (FuncType (TVar 100) (TVar 100)) (FuncType (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 100]) (TVar 100)))),"Prelude","maybe")) [Var ((Just (TVar 100),3)),Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 100) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 100],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 100]) (TVar 100)])) (FuncType (FuncType (TVar 100) (TVar 100)) (FuncType (TVar 100) (TVar 100)))),"Traversal","mapFamily")) [Var ((Just (FuncType (TVar 100) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 100],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 100]) (TVar 100)])),2)),Comb (FuncPartCall 1) ((Nothing,Just (FuncType (FuncType (TVar 100) (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 100])) (FuncType (FuncType (TVar 100) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 100],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 100]) (TVar 100)])) (FuncType (TVar 100) (TVar 100)))),"Traversal","evalFamily.g.19")) [Var ((Just (FuncType (TVar 100) (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 100])),1)),Var ((Just (FuncType (TVar 100) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 100],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 100]) (TVar 100)])),2))]],Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 100) (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 100])) (FuncType (TVar 100) (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 100]))),"Prelude","apply")) [Var ((Just (FuncType (TVar 100) (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 100])),1)),Var ((Just (TVar 100),3))]])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1)])) (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 1])) (FuncType (TVar 0) (TVar 0))))),"Traversal","evalChildFamilies")) 2 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]) (TVar 1)])) (FuncType (FuncType (TVar 1) (TCons ((Nothing,Nothing,"Prelude","Maybe")) [TVar 1])) (FuncType (TVar 0) (TVar 0))))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])),1),(Just (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1)])),2)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (FuncType (TVar 1) (TVar 1)) (FuncType (TVar 0) (TVar 0))) (FuncType (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 1])) (FuncType (TVar 1) (TVar 1))) (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 1])) (FuncType (TVar 0) (TVar 0))))),"Prelude",".")) [Comb (FuncPartCall 2) ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TVar 1)) (FuncType (TVar 0) (TVar 0)))),"Traversal","mapChildren")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])),1))],Comb (FuncPartCall 1) ((Nothing,Just (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1)])) (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 1])) (FuncType (TVar 1) (TVar 1)))),"Traversal","evalFamily")) [Var ((Just (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1)])),2))]])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])) (FuncType (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1))) (FuncType (TVar 0) (TVar 1)))),"Traversal","fold")) 2 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TVar 0)])) (FuncType (FuncType (TVar 0) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]) (TVar 1))) (FuncType (TVar 0) (TVar 1)))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])),1),(Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1))),2)] (Comb (FuncPartCall 1) ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])) (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])) (FuncType (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1))) (FuncType (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1))) (FuncType (TVar 0) (TVar 1)))))),"Traversal","foldChildren")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])),1)),Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])),1)),Var ((Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1))),2)),Var ((Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1))),2))])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1)])) (FuncType (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]) (TVar 3))) (FuncType (FuncType (TVar 1) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]) (TVar 2))) (FuncType (TVar 0) (TVar 3)))))),"Traversal","foldChildren")) 5 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]) (TVar 1)])) (FuncType (FuncType (TVar 0) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 2]) (TVar 3))) (FuncType (FuncType (TVar 1) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 2]) (TVar 2))) (FuncType (TVar 0) (TVar 3)))))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])),1),(Just (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1)])),2),(Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]) (TVar 3))),3),(Just (FuncType (TVar 1) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]) (TVar 2))),4),(Just (TVar 0),5)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]) (TVar 3)) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]) (TVar 3))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]) (TVar 3))) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]) (TVar 3)))),"Prelude","apply")) [Var ((Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]) (TVar 3))),3)),Var ((Just (TVar 0),5))],Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 1) (TVar 2)) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]))),"Prelude","map")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1)])) (FuncType (FuncType (TVar 1) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]) (TVar 2))) (FuncType (TVar 1) (TVar 2)))),"Traversal","fold")) [Var ((Just (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1)])),2)),Var ((Just (FuncType (TVar 1) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 2]) (TVar 2))),4))],Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]))),"Traversal","children")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])),1))],Var ((Just (TVar 0),5))]]])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])))),"Traversal","replaceChildrenIO")) 1 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]) (TVar 0)])) (FuncType (TVar 0) (FuncType (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]]) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0])))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])),1)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)) (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))) (FuncType (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0))) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))))),"Prelude",".")) [Comb (FuncPartCall 2) ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)) (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))),"Traversal","liftIO")) [],Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)))),"Traversal","replaceChildren")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])),1))]])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])))),"Traversal","mapChildrenIO")) 3 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 1])) (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0])))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])),1),(Just (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])),2),(Just (TVar 0),3)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])) (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])))),"Traversal","replaceChildrenIO")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])),1))],Var ((Just (TVar 0),3))],Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]]))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]]))),"Prelude","mapIO")) [Var ((Just (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])),2))],Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]))),"Traversal","children")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])),1))],Var ((Just (TVar 0),3))]]])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])) (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])))),"Traversal","mapFamilyIO")) 3 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TVar 0)])) (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0])) (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0])))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])),1),(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])),2),(Just (TVar 0),3)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]) (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))),"Prelude",">>=")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))) (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])) (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])) (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))))),"Traversal","mapChildFamiliesIO")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])),1)),Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])),1))],Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])),2))],Var ((Just (TVar 0),3))],Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])),2))])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1)])) (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))))),"Traversal","mapChildFamiliesIO")) 2 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]) (TVar 1)])) (FuncType (FuncType (TVar 1) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 1])) (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0]))))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])),1),(Just (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1)])),2)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))) (FuncType (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])) (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))) (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))))),"Prelude",".")) [Comb (FuncPartCall 2) ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])))),"Traversal","mapChildrenIO")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])),1))],Comb (FuncPartCall 2) ((Nothing,Just (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1)])) (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])) (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])))),"Traversal","mapFamilyIO")) [Var ((Just (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1)])),2))]])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])) (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 0]])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])))),"Traversal","evalFamilyIO")) 2 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TVar 0)])) (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","Maybe")) [TVar 0]])) (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0])))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])),1),(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 0]])),2)] (Comb (FuncPartCall 1) ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])) (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])))),"Traversal","mapFamilyIO")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])),1)),Comb (FuncPartCall 1) ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 0]])) (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])))),"Traversal","evalFamilyIO.g.37")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 0]])),2)),Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])),1))]])),Func ((Nothing,Just (FuncType (FuncType (TVar 202) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 202]])) (FuncType (FuncType (TVar 202) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 202],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 202]) (TVar 202)])) (FuncType (TVar 202) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 202])))),"Traversal","evalFamilyIO.g.37")) 3 Private (FuncType (FuncType (TVar 202) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","Maybe")) [TVar 202]])) (FuncType (FuncType (TVar 202) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 202],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 202]) (TVar 202)])) (FuncType (TVar 202) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 202])))) (Rule [(Just (FuncType (TVar 202) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 202]])),1),(Just (FuncType (TVar 202) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 202],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 202]) (TVar 202)])),2),(Just (TVar 202),3)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 202]]) (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 202]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 202])) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 202]))),"Prelude",">>=")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 202) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 202]])) (FuncType (TVar 202) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 202]]))),"Prelude","apply")) [Var ((Just (FuncType (TVar 202) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 202]])),1)),Var ((Just (TVar 202),3))],Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 202]) (FuncType (FuncType (TVar 202) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 202])) (FuncType (TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 202]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 202])))),"Prelude","maybe")) [Comb FuncCall ((Nothing,Just (FuncType (TVar 202) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 202])),"Prelude","return")) [Var ((Just (TVar 202),3))],Comb (FuncPartCall 1) ((Nothing,Just (FuncType (FuncType (TVar 202) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 202],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 202]) (TVar 202)])) (FuncType (FuncType (TVar 202) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 202])) (FuncType (TVar 202) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 202])))),"Traversal","mapFamilyIO")) [Var ((Just (FuncType (TVar 202) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 202],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 202]) (TVar 202)])),2)),Comb (FuncPartCall 1) ((Nothing,Just (FuncType (FuncType (TVar 202) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 202]])) (FuncType (FuncType (TVar 202) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 202],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 202]) (TVar 202)])) (FuncType (TVar 202) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 202])))),"Traversal","evalFamilyIO.g.37")) [Var ((Just (FuncType (TVar 202) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 202]])),1)),Var ((Just (FuncType (TVar 202) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 202],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 202]) (TVar 202)])),2))]]]])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1)])) (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 1]])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))))),"Traversal","evalChildFamiliesIO")) 2 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]) (TVar 1)])) (FuncType (FuncType (TVar 1) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","Maybe")) [TVar 1]])) (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0]))))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])),1),(Just (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1)])),2)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))) (FuncType (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 1]])) (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))) (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 1]])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))))),"Prelude",".")) [Comb (FuncPartCall 2) ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])))),"Traversal","mapChildrenIO")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])),1))],Comb (FuncPartCall 1) ((Nothing,Just (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1)])) (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","Maybe") [TVar 1]])) (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])))),"Traversal","evalFamilyIO")) [Var ((Just (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1)])),2))]])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Traversal","concatFL")) 2 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0])]) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])]),1),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])]),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])]),"Prelude","[]")) []) (Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2))),Branch (Pattern ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])]) (TCons (Nothing,Nothing,"Prelude","[]") [FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])]))),"Prelude",":")) [(Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])),3),(Just (TCons (Nothing,Nothing,"Prelude","[]") [FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])]),4)]) (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude","apply")) [Var ((Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])),3)),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Traversal","concatFL")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])]),4)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),2))]])])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])))),"Traversal","familyFL")) 3 Private (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TVar 0)])) (FuncType (TVar 0) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0])))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])),1),(Just (TVar 0),2),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),3)] (Comb ConsCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [Var ((Just (TVar 0),2)),Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])) (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))))),"Traversal","childFamiliesFL")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])),1)),Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)])),1)),Var ((Just (TVar 0),2)),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),3))]])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1)])) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]))))),"Traversal","childFamiliesFL")) 4 Private (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]) (TVar 0)])) (FuncType (FuncType (TVar 1) (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1],FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]) (TVar 1)])) (FuncType (TVar 0) (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 1]))))) (Rule [(Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])),1),(Just (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1)])),2),(Just (TVar 0),3),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]),4)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1])]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]))),"Traversal","concatFL")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 1) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]))) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TCons (Nothing,Nothing,"Prelude","[]") [FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1])]))),"Prelude","map")) [Comb (FuncPartCall 2) ((Nothing,Just (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1)])) (FuncType (TVar 1) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1])))),"Traversal","familyFL")) [Var ((Just (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 1)])),2))],Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]))),"Traversal","children")) [Var ((Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 1],FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]) (TVar 0)])),1))],Var ((Just (TVar 0),3))]],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 1]),4))])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))),"Traversal","liftIO")) 2 Private (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 1]))) (Rule [(Just (FuncType (TVar 0) (TVar 1)),1),(Just (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]),2)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]) (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))),"Prelude",">>=")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]),2)),Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])) (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])))),"Prelude",".")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TVar 1) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])),"Prelude","return")) [],Var ((Just (FuncType (TVar 0) (TVar 1)),1))]]))] []