CurryProg "Traversal" ["Prelude"] [CTypeSyn ("Traversal","Traversable") Public [(0,"a"),(1,"b")] (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (1,"b")],CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTVar (0,"a"))])), CTypeSyn ("Traversal","FunList") Private [(0,"a")] (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (0,"a")]))] [CFunc ("Traversal","childFamilies") 3 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (1,"b")],CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTVar (0,"a"))])) (CFuncType (CFuncType (CTVar (1,"b")) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (1,"b")],CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTVar (1,"b"))])) (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","[]") [CTVar (1,"b")])))) (CRules CFlex [CRule [CPVar (0,"tra"),CPVar (1,"trb"),CPVar (2,"x")] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CApply (CSymbol ("Traversal","childFamiliesFL")) (CVar (0,"tra"))) (CVar (1,"trb"))) (CVar (2,"x"))) (CSymbol ("Prelude","[]")))] []]), CFunc ("Traversal","childFamiliesFL") 4 Private (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (1,"b")],CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTVar (0,"a"))])) (CFuncType (CFuncType (CTVar (1,"b")) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (1,"b")],CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTVar (1,"b"))])) (CFuncType (CTVar (0,"a")) (CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTCons ("Prelude","[]") [CTVar (1,"b")]))))) (CRules CFlex [CRule [CPVar (0,"tra"),CPVar (1,"trb"),CPVar (2,"x"),CPVar (3,"xs")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Traversal","concatFL")) (CApply (CApply (CSymbol ("Prelude","map")) (CApply (CSymbol ("Traversal","familyFL")) (CVar (1,"trb")))) (CApply (CApply (CSymbol ("Traversal","children")) (CVar (0,"tra"))) (CVar (2,"x"))))) (CVar (3,"xs")))] []]), CFunc ("Traversal","children") 1 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (1,"b")],CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTVar (0,"a"))])) (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","[]") [CTVar (1,"b")]))) (CRules CFlex [CRule [CPVar (0,"tr")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",".")) (CSymbol ("Prelude","fst"))) (CVar (0,"tr")))] []]), CFunc ("Traversal","concatFL") 2 Private (CFuncType (CTCons ("Prelude","[]") [CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (0,"a")])]) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (0,"a")]))) (CRules CFlex [CRule [CPComb ("Prelude","[]") [],CPVar (0,"ys")] [(CSymbol ("Prelude","success"),CVar (0,"ys"))] [],CRule [CPComb ("Prelude",":") [CPVar (1,"x"),CPVar (2,"xs")],CPVar (3,"ys")] [(CSymbol ("Prelude","success"),CApply (CVar (1,"x")) (CApply (CApply (CSymbol ("Traversal","concatFL")) (CVar (2,"xs"))) (CVar (3,"ys"))))] []]), CFunc ("Traversal","evalChildFamilies") 2 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (1,"b")],CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTVar (0,"a"))])) (CFuncType (CFuncType (CTVar (1,"b")) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (1,"b")],CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTVar (1,"b"))])) (CFuncType (CFuncType (CTVar (1,"b")) (CTCons ("Prelude","Maybe") [CTVar (1,"b")])) (CFuncType (CTVar (0,"a")) (CTVar (0,"a")))))) (CRules CFlex [CRule [CPVar (0,"tra"),CPVar (1,"trb")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",".")) (CApply (CSymbol ("Traversal","mapChildren")) (CVar (0,"tra")))) (CApply (CSymbol ("Traversal","evalFamily")) (CVar (1,"trb"))))] []]), CFunc ("Traversal","evalChildFamiliesIO") 2 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (1,"b")],CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTVar (0,"a"))])) (CFuncType (CFuncType (CTVar (1,"b")) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (1,"b")],CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTVar (1,"b"))])) (CFuncType (CFuncType (CTVar (1,"b")) (CTCons ("Prelude","IO") [CTCons ("Prelude","Maybe") [CTVar (1,"b")]])) (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","IO") [CTVar (0,"a")]))))) (CRules CFlex [CRule [CPVar (0,"tra"),CPVar (1,"trb")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",".")) (CApply (CSymbol ("Traversal","mapChildrenIO")) (CVar (0,"tra")))) (CApply (CSymbol ("Traversal","evalFamilyIO")) (CVar (1,"trb"))))] []]), CFunc ("Traversal","evalFamily") 2 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (0,"a")],CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTVar (0,"a"))])) (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","Maybe") [CTVar (0,"a")])) (CFuncType (CTVar (0,"a")) (CTVar (0,"a"))))) (CRules CFlex [CRule [CPVar (0,"tr"),CPVar (1,"f")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Traversal","mapFamily")) (CVar (0,"tr"))) (CSymbol ("Traversal","g")))] [CLocalFunc (CFunc ("Traversal","g") 1 Private (CFuncType (CTVar (1,"_100")) (CTVar (1,"_100"))) (CRules CFlex [CRule [CPVar (2,"x")] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CSymbol ("Prelude","maybe")) (CVar (2,"x"))) (CApply (CApply (CSymbol ("Traversal","mapFamily")) (CVar (0,"tr"))) (CSymbol ("Traversal","g")))) (CApply (CVar (1,"f")) (CVar (2,"x"))))] []]))]]), CFunc ("Traversal","evalFamilyIO") 2 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (0,"a")],CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTVar (0,"a"))])) (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","IO") [CTCons ("Prelude","Maybe") [CTVar (0,"a")]])) (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","IO") [CTVar (0,"a")])))) (CRules CFlex [CRule [CPVar (0,"tr"),CPVar (1,"f")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Traversal","mapFamilyIO")) (CVar (0,"tr"))) (CSymbol ("Traversal","g")))] [CLocalFunc (CFunc ("Traversal","g") 1 Private (CFuncType (CTVar (1,"_202")) (CTCons ("Prelude","IO") [CTVar (1,"_202")])) (CRules CFlex [CRule [CPVar (2,"a")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",">>=")) (CApply (CVar (1,"f")) (CVar (2,"a")))) (CApply (CApply (CSymbol ("Prelude","maybe")) (CApply (CSymbol ("Prelude","return")) (CVar (2,"a")))) (CApply (CApply (CSymbol ("Traversal","mapFamilyIO")) (CVar (0,"tr"))) (CSymbol ("Traversal","g")))))] []]))]]), CFunc ("Traversal","family") 2 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (0,"a")],CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTVar (0,"a"))])) (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","[]") [CTVar (0,"a")]))) (CRules CFlex [CRule [CPVar (0,"tr"),CPVar (1,"x")] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CSymbol ("Traversal","familyFL")) (CVar (0,"tr"))) (CVar (1,"x"))) (CSymbol ("Prelude","[]")))] []]), CFunc ("Traversal","familyFL") 3 Private (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (0,"a")],CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTVar (0,"a"))])) (CFuncType (CTVar (0,"a")) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (0,"a")])))) (CRules CFlex [CRule [CPVar (0,"tr"),CPVar (1,"x"),CPVar (2,"xs")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",":")) (CVar (1,"x"))) (CApply (CApply (CApply (CApply (CSymbol ("Traversal","childFamiliesFL")) (CVar (0,"tr"))) (CVar (0,"tr"))) (CVar (1,"x"))) (CVar (2,"xs"))))] []]), CFunc ("Traversal","fold") 2 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (0,"a")],CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTVar (0,"a"))])) (CFuncType (CFuncType (CTVar (0,"a")) (CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTVar (1,"b")))) (CFuncType (CTVar (0,"a")) (CTVar (1,"b"))))) (CRules CFlex [CRule [CPVar (0,"tr"),CPVar (1,"f")] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CApply (CSymbol ("Traversal","foldChildren")) (CVar (0,"tr"))) (CVar (0,"tr"))) (CVar (1,"f"))) (CVar (1,"f")))] []]), CFunc ("Traversal","foldChildren") 5 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (1,"b")],CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTVar (0,"a"))])) (CFuncType (CFuncType (CTVar (1,"b")) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (1,"b")],CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTVar (1,"b"))])) (CFuncType (CFuncType (CTVar (0,"a")) (CFuncType (CTCons ("Prelude","[]") [CTVar (2,"c")]) (CTVar (3,"d")))) (CFuncType (CFuncType (CTVar (1,"b")) (CFuncType (CTCons ("Prelude","[]") [CTVar (2,"c")]) (CTVar (2,"c")))) (CFuncType (CTVar (0,"a")) (CTVar (3,"d"))))))) (CRules CFlex [CRule [CPVar (0,"tra"),CPVar (1,"trb"),CPVar (2,"f"),CPVar (3,"g"),CPVar (4,"a")] [(CSymbol ("Prelude","success"),CApply (CApply (CVar (2,"f")) (CVar (4,"a"))) (CApply (CApply (CSymbol ("Prelude","map")) (CApply (CApply (CSymbol ("Traversal","fold")) (CVar (1,"trb"))) (CVar (3,"g")))) (CApply (CApply (CSymbol ("Traversal","children")) (CVar (0,"tra"))) (CVar (4,"a")))))] []]), CFunc ("Traversal","liftIO") 2 Private (CFuncType (CFuncType (CTVar (0,"a")) (CTVar (1,"b"))) (CFuncType (CTCons ("Prelude","IO") [CTVar (0,"a")]) (CTCons ("Prelude","IO") [CTVar (1,"b")]))) (CRules CFlex [CRule [CPVar (0,"f"),CPVar (1,"ioa")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",">>=")) (CVar (1,"ioa"))) (CApply (CApply (CSymbol ("Prelude",".")) (CSymbol ("Prelude","return"))) (CVar (0,"f"))))] []]), CFunc ("Traversal","mapChildFamilies") 2 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (1,"b")],CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTVar (0,"a"))])) (CFuncType (CFuncType (CTVar (1,"b")) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (1,"b")],CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTVar (1,"b"))])) (CFuncType (CFuncType (CTVar (1,"b")) (CTVar (1,"b"))) (CFuncType (CTVar (0,"a")) (CTVar (0,"a")))))) (CRules CFlex [CRule [CPVar (0,"tra"),CPVar (1,"trb")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",".")) (CApply (CSymbol ("Traversal","mapChildren")) (CVar (0,"tra")))) (CApply (CSymbol ("Traversal","mapFamily")) (CVar (1,"trb"))))] []]), CFunc ("Traversal","mapChildFamiliesIO") 2 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (1,"b")],CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTVar (0,"a"))])) (CFuncType (CFuncType (CTVar (1,"b")) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (1,"b")],CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTVar (1,"b"))])) (CFuncType (CFuncType (CTVar (1,"b")) (CTCons ("Prelude","IO") [CTVar (1,"b")])) (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","IO") [CTVar (0,"a")]))))) (CRules CFlex [CRule [CPVar (0,"tra"),CPVar (1,"trb")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",".")) (CApply (CSymbol ("Traversal","mapChildrenIO")) (CVar (0,"tra")))) (CApply (CSymbol ("Traversal","mapFamilyIO")) (CVar (1,"trb"))))] []]), CFunc ("Traversal","mapChildren") 3 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (1,"b")],CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTVar (0,"a"))])) (CFuncType (CFuncType (CTVar (1,"b")) (CTVar (1,"b"))) (CFuncType (CTVar (0,"a")) (CTVar (0,"a"))))) (CRules CFlex [CRule [CPVar (0,"tr"),CPVar (1,"f"),CPVar (2,"x")] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CSymbol ("Traversal","replaceChildren")) (CVar (0,"tr"))) (CVar (2,"x"))) (CApply (CApply (CSymbol ("Prelude","map")) (CVar (1,"f"))) (CApply (CApply (CSymbol ("Traversal","children")) (CVar (0,"tr"))) (CVar (2,"x")))))] []]), CFunc ("Traversal","mapChildrenIO") 3 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (1,"b")],CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTVar (0,"a"))])) (CFuncType (CFuncType (CTVar (1,"b")) (CTCons ("Prelude","IO") [CTVar (1,"b")])) (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","IO") [CTVar (0,"a")])))) (CRules CFlex [CRule [CPVar (0,"tr"),CPVar (1,"f"),CPVar (2,"a")] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CSymbol ("Traversal","replaceChildrenIO")) (CVar (0,"tr"))) (CVar (2,"a"))) (CApply (CApply (CSymbol ("Prelude","mapIO")) (CVar (1,"f"))) (CApply (CApply (CSymbol ("Traversal","children")) (CVar (0,"tr"))) (CVar (2,"a")))))] []]), CFunc ("Traversal","mapFamily") 2 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (0,"a")],CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTVar (0,"a"))])) (CFuncType (CFuncType (CTVar (0,"a")) (CTVar (0,"a"))) (CFuncType (CTVar (0,"a")) (CTVar (0,"a"))))) (CRules CFlex [CRule [CPVar (0,"tr"),CPVar (1,"f")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",".")) (CVar (1,"f"))) (CApply (CApply (CApply (CSymbol ("Traversal","mapChildFamilies")) (CVar (0,"tr"))) (CVar (0,"tr"))) (CVar (1,"f"))))] []]), CFunc ("Traversal","mapFamilyIO") 3 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (0,"a")],CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTVar (0,"a"))])) (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","IO") [CTVar (0,"a")])) (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","IO") [CTVar (0,"a")])))) (CRules CFlex [CRule [CPVar (0,"tr"),CPVar (1,"f"),CPVar (2,"a")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",">>=")) (CApply (CApply (CApply (CApply (CSymbol ("Traversal","mapChildFamiliesIO")) (CVar (0,"tr"))) (CVar (0,"tr"))) (CVar (1,"f"))) (CVar (2,"a")))) (CVar (1,"f")))] []]), CFunc ("Traversal","noChildren") 1 Public (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (1,"b")],CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTVar (0,"a"))])) (CRules CFlex [CRule [CPVar (0,"x")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("Prelude","[]"))) (CApply (CSymbol ("Prelude","const")) (CVar (0,"x"))))] []]), CFunc ("Traversal","replaceChildren") 1 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (1,"b")],CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTVar (0,"a"))])) (CFuncType (CTVar (0,"a")) (CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTVar (0,"a"))))) (CRules CFlex [CRule [CPVar (0,"tr")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",".")) (CSymbol ("Prelude","snd"))) (CVar (0,"tr")))] []]), CFunc ("Traversal","replaceChildrenIO") 1 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (1,"b")],CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTVar (0,"a"))])) (CFuncType (CTVar (0,"a")) (CFuncType (CTCons ("Prelude","IO") [CTCons ("Prelude","[]") [CTVar (1,"b")]]) (CTCons ("Prelude","IO") [CTVar (0,"a")])))) (CRules CFlex [CRule [CPVar (0,"tr")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",".")) (CSymbol ("Traversal","liftIO"))) (CApply (CSymbol ("Traversal","replaceChildren")) (CVar (0,"tr"))))] []])] []