Prog "Maybe" ["Prelude"] [] [Func ("Maybe","isJust") 1 Public (FuncType (TCons ("Prelude","Maybe") [TVar 0]) (TCons ("Prelude","Bool") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","Just") [2]) (Comb ConsCall ("Prelude","True") []),Branch (Pattern ("Prelude","Nothing") []) (Comb ConsCall ("Prelude","False") [])])),Func ("Maybe","isNothing") 1 Public (FuncType (TCons ("Prelude","Maybe") [TVar 0]) (TCons ("Prelude","Bool") [])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","Nothing") []) (Comb ConsCall ("Prelude","True") []),Branch (Pattern ("Prelude","Just") [2]) (Comb ConsCall ("Prelude","False") [])])),Func ("Maybe","fromJust") 1 Public (FuncType (TCons ("Prelude","Maybe") [TVar 0]) (TVar 0)) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","Just") [2]) (Var 2),Branch (Pattern ("Prelude","Nothing") []) (Comb FuncCall ("Prelude","error") [Comb ConsCall ("Prelude",":") [Lit (Charc 'M'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude",":") [Lit (Charc 'b'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'm'),Comb ConsCall ("Prelude",":") [Lit (Charc 'J'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc ':'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'N'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'h'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'g'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]]]]]]]]])])),Func ("Maybe","fromMaybe") 2 Public (FuncType (TVar 0) (FuncType (TCons ("Prelude","Maybe") [TVar 0]) (TVar 0))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Prelude","Nothing") []) (Var 1),Branch (Pattern ("Prelude","Just") [3]) (Var 3)])),Func ("Maybe","maybeToList") 1 Public (FuncType (TCons ("Prelude","Maybe") [TVar 0]) (TCons ("Prelude","[]") [TVar 0])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","Nothing") []) (Comb ConsCall ("Prelude","[]") []),Branch (Pattern ("Prelude","Just") [2]) (Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude","[]") []])])),Func ("Maybe","listToMaybe") 1 Public (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","Maybe") [TVar 0])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","Nothing") []),Branch (Pattern ("Prelude",":") [2,3]) (Comb ConsCall ("Prelude","Just") [Var 2])])),Func ("Maybe","catMaybes") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Maybe") [TVar 0]]) (TCons ("Prelude","[]") [TVar 0])) (Rule [1] (Comb FuncCall ("Prelude","foldr") [Comb (FuncPartCall 2) ("Maybe","catMaybes._#lambda4") [],Comb ConsCall ("Prelude","[]") [],Var 1])),Func ("Maybe","catMaybes._#lambda4") 2 Private (FuncType (TCons ("Prelude","Maybe") [TVar 37]) (FuncType (TCons ("Prelude","[]") [TVar 37]) (TCons ("Prelude","[]") [TVar 37]))) (Rule [1,2] (Case Rigid (Var 1) [Branch (Pattern ("Prelude","Just") [3]) (Comb ConsCall ("Prelude",":") [Var 3,Var 2]),Branch (Pattern ("Prelude","Nothing") []) (Var 2)])),Func ("Maybe","mapMaybe") 1 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","Maybe") [TVar 1])) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 1]))) (Rule [1] (Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Maybe","catMaybes") [],Comb (FuncPartCall 1) ("Prelude","map") [Var 1]])),Func ("Maybe",">>-") 2 Public (FuncType (TCons ("Prelude","Maybe") [TVar 0]) (FuncType (FuncType (TVar 0) (TCons ("Prelude","Maybe") [TVar 1])) (TCons ("Prelude","Maybe") [TVar 1]))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("Prelude","Nothing") []) (Comb ConsCall ("Prelude","Nothing") []),Branch (Pattern ("Prelude","Just") [3]) (Comb FuncCall ("Prelude","apply") [Var 2,Var 3])])),Func ("Maybe","sequenceMaybe") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Maybe") [TVar 0]]) (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TVar 0]])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","Just") [Comb ConsCall ("Prelude","[]") []]),Branch (Pattern ("Prelude",":") [2,3]) (Comb FuncCall ("Maybe",">>-") [Var 2,Comb (FuncPartCall 1) ("Maybe","sequenceMaybe._#lambda6") [Var 3]])])),Func ("Maybe","sequenceMaybe._#lambda6") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Maybe") [TVar 66]]) (FuncType (TVar 66) (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TVar 66]]))) (Rule [1,2] (Comb FuncCall ("Maybe",">>-") [Comb FuncCall ("Maybe","sequenceMaybe") [Var 1],Comb (FuncPartCall 1) ("Maybe","sequenceMaybe._#lambda6._#lambda7") [Var 2]])),Func ("Maybe","sequenceMaybe._#lambda6._#lambda7") 2 Private (FuncType (TVar 66) (FuncType (TCons ("Prelude","[]") [TVar 66]) (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TVar 66]]))) (Rule [1,2] (Comb ConsCall ("Prelude","Just") [Comb ConsCall ("Prelude",":") [Var 1,Var 2]])),Func ("Maybe","mapMMaybe") 1 Public (FuncType (FuncType (TVar 0) (TCons ("Prelude","Maybe") [TVar 1])) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TVar 1]]))) (Rule [1] (Comb FuncCall ("Prelude",".") [Comb (FuncPartCall 1) ("Maybe","sequenceMaybe") [],Comb (FuncPartCall 1) ("Prelude","map") [Var 1]]))] [Op ("Maybe",">>-") InfixlOp 1]