CurryProg "Maybe" ["Prelude"] [] [CFunc ("Maybe",">>-") 2 Public (CFuncType (CTCons ("Prelude","Maybe") [CTVar (0,"a")]) (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","Maybe") [CTVar (1,"b")])) (CTCons ("Prelude","Maybe") [CTVar (1,"b")]))) (CRules CFlex [CRule [CPComb ("Prelude","Nothing") [],CPVar (0,"_")] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","Nothing"))] [],CRule [CPComb ("Prelude","Just") [CPVar (1,"x")],CPVar (2,"f")] [(CSymbol ("Prelude","success"),CApply (CVar (2,"f")) (CVar (1,"x")))] []]), CFunc ("Maybe","catMaybes") 1 Public (CFuncType (CTCons ("Prelude","[]") [CTCons ("Prelude","Maybe") [CTVar (0,"a")]]) (CTCons ("Prelude","[]") [CTVar (0,"a")])) (CRules CFlex [CRule [CPVar (0,"ms")] [(CSymbol ("Prelude","success"),CListComp (CVar (1,"m")) [CSPat (CPComb ("Prelude","Just") [CPVar (1,"m")]) (CVar (0,"ms"))])] []]), CFunc ("Maybe","fromJust") 1 Public (CFuncType (CTCons ("Prelude","Maybe") [CTVar (0,"a")]) (CTVar (0,"a"))) (CRules CFlex [CRule [CPComb ("Prelude","Just") [CPVar (0,"a")]] [(CSymbol ("Prelude","success"),CVar (0,"a"))] [],CRule [CPComb ("Prelude","Nothing") []] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","error")) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'M'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'y'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'b'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '.'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'f'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'm'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'J'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ':'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'N'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'h'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'g'))) (CSymbol ("Prelude","[]"))))))))))))))))))))))))))] []]), CFunc ("Maybe","fromMaybe") 2 Public (CFuncType (CTVar (0,"a")) (CFuncType (CTCons ("Prelude","Maybe") [CTVar (0,"a")]) (CTVar (0,"a")))) (CRules CFlex [CRule [CPVar (0,"d"),CPComb ("Prelude","Nothing") []] [(CSymbol ("Prelude","success"),CVar (0,"d"))] [],CRule [CPVar (1,"_"),CPComb ("Prelude","Just") [CPVar (2,"a")]] [(CSymbol ("Prelude","success"),CVar (2,"a"))] []]), CFunc ("Maybe","isJust") 1 Public (CFuncType (CTCons ("Prelude","Maybe") [CTVar (0,"a")]) (CTCons ("Prelude","Bool") [])) (CRules CFlex [CRule [CPComb ("Prelude","Just") [CPVar (0,"_")]] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","True"))] [],CRule [CPComb ("Prelude","Nothing") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","False"))] []]), CFunc ("Maybe","isNothing") 1 Public (CFuncType (CTCons ("Prelude","Maybe") [CTVar (0,"a")]) (CTCons ("Prelude","Bool") [])) (CRules CFlex [CRule [CPComb ("Prelude","Nothing") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","True"))] [],CRule [CPComb ("Prelude","Just") [CPVar (0,"_")]] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","False"))] []]), CFunc ("Maybe","listToMaybe") 1 Public (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","Maybe") [CTVar (0,"a")])) (CRules CFlex [CRule [CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","Nothing"))] [],CRule [CPComb ("Prelude",":") [CPVar (0,"a"),CPVar (1,"_")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","Just")) (CVar (0,"a")))] []]), CFunc ("Maybe","mapMMaybe") 1 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","Maybe") [CTVar (1,"b")])) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","Maybe") [CTCons ("Prelude","[]") [CTVar (1,"b")]]))) (CRules CFlex [CRule [CPVar (0,"f")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",".")) (CSymbol ("Maybe","sequenceMaybe"))) (CApply (CSymbol ("Prelude","map")) (CVar (0,"f"))))] []]), CFunc ("Maybe","mapMaybe") 1 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","Maybe") [CTVar (1,"b")])) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (1,"b")]))) (CRules CFlex [CRule [CPVar (0,"f")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",".")) (CSymbol ("Maybe","catMaybes"))) (CApply (CSymbol ("Prelude","map")) (CVar (0,"f"))))] []]), CFunc ("Maybe","maybeToList") 1 Public (CFuncType (CTCons ("Prelude","Maybe") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (0,"a")])) (CRules CFlex [CRule [CPComb ("Prelude","Nothing") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPComb ("Prelude","Just") [CPVar (0,"a")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",":")) (CVar (0,"a"))) (CSymbol ("Prelude","[]")))] []]), CFunc ("Maybe","sequenceMaybe") 1 Public (CFuncType (CTCons ("Prelude","[]") [CTCons ("Prelude","Maybe") [CTVar (0,"a")]]) (CTCons ("Prelude","Maybe") [CTCons ("Prelude","[]") [CTVar (0,"a")]])) (CRules CFlex [CRule [CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","Just")) (CSymbol ("Prelude","[]")))] [],CRule [CPComb ("Prelude",":") [CPVar (0,"c"),CPVar (1,"cs")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Maybe",">>-")) (CVar (0,"c"))) (CLambda [CPVar (2,"x")] (CApply (CApply (CSymbol ("Maybe",">>-")) (CApply (CSymbol ("Maybe","sequenceMaybe")) (CVar (1,"cs")))) (CLambda [CPVar (3,"xs")] (CApply (CSymbol ("Prelude","Just")) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (2,"x"))) (CVar (3,"xs"))))))))] []])] [COp ("Maybe",">>-") CInfixlOp 1]