Prog "OracleMaybe" ["CEventOracle","Oracle","IOExts","Maybe","Prelude","OraclePrelude"] [] [Func ("OracleMaybe","isJust") 2 Public (FuncType (TCons ("Prelude","Maybe") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleMaybe","_case_8") [Var 2,Var 1]])),Func ("OracleMaybe","isNothing") 2 Public (FuncType (TCons ("Prelude","Maybe") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleMaybe","_case_7") [Var 2,Var 1]])),Func ("OracleMaybe","fromJust") 2 Public (FuncType (TCons ("Prelude","Maybe") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleMaybe","_case_6") [Var 2,Var 1]])),Func ("OracleMaybe","fromMaybe") 3 Public (FuncType (TVar 0) (FuncType (TCons ("Prelude","Maybe") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0)))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleMaybe","_case_5") [Var 2,Var 3,Var 1]])),Func ("OracleMaybe","maybeToList") 2 Public (FuncType (TCons ("Prelude","Maybe") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TVar 0]))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleMaybe","_case_4") [Var 2,Var 1]])),Func ("OracleMaybe","listToMaybe") 2 Public (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Maybe") [TVar 0]))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleMaybe","_case_3") [Var 2,Var 1]])),Func ("OracleMaybe","catMaybes") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Maybe") [TVar 0]]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TVar 0]))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude","foldr") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleMaybe","catMaybes._#lambda4") []],Comb ConsCall ("Prelude","[]") [],Var 2,Var 1]])),Func ("OracleMaybe","catMaybes._#lambda4") 3 Private (FuncType (TCons ("Prelude","Maybe") [TVar 37]) (FuncType (TCons ("Prelude","[]") [TVar 37]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TVar 37])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleMaybe","_case_2") [Var 3,Var 2,Var 1]])),Func ("OracleMaybe","mapMaybe") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TCons ("Prelude","Maybe") [TVar 1]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 1]))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude",".") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleMaybe","catMaybes") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","map") [Var 2]],Var 1]])),Func ("OracleMaybe",">>-") 3 Public (FuncType (TCons ("Prelude","Maybe") [TVar 0]) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TCons ("Prelude","Maybe") [TVar 1]))) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Maybe") [TVar 1])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleMaybe","_case_1") [Var 3,Var 2,Var 1]])),Func ("OracleMaybe","sequenceMaybe") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Maybe") [TVar 0]]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TVar 0]]))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleMaybe","_case_0") [Var 2,Var 1]])),Func ("OracleMaybe","sequenceMaybe._#lambda6") 3 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Maybe") [TVar 66]]) (FuncType (TVar 66) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TVar 66]])))) (Rule [2,3,1] (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleMaybe",">>-") [Comb FuncCall ("OracleMaybe","sequenceMaybe") [Var 2,Var 1],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleMaybe","sequenceMaybe._#lambda6._#lambda7") [Var 3]],Var 4]]))),Func ("OracleMaybe","sequenceMaybe._#lambda6._#lambda7") 3 Private (FuncType (TVar 66) (FuncType (TCons ("Prelude","[]") [TVar 66]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TVar 66]])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","Just") [Comb ConsCall ("Prelude",":") [Var 2,Var 3]]])),Func ("OracleMaybe","mapMMaybe") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TCons ("Prelude","Maybe") [TVar 1]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","Maybe") [TCons ("Prelude","[]") [TVar 1]]))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude",".") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleMaybe","sequenceMaybe") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","map") [Var 2]],Var 1]])),Func ("OracleMaybe","_case_0") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Prelude","[]") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","Just") [Comb ConsCall ("Prelude","[]") []]]),Branch (Pattern ("Prelude",":") [3,4]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleMaybe",">>-") [Var 3,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleMaybe","sequenceMaybe._#lambda6") [Var 4]],Var 1]])]])),Func ("OracleMaybe","_case_1") 3 Private (TVar (-42)) (Rule [3,2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Prelude","Nothing") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","Nothing") []]),Branch (Pattern ("Prelude","Just") [4]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("Oracle","apply") [Var 3,Var 4,Var 1]])]])),Func ("OracleMaybe","_case_2") 3 Private (TVar (-42)) (Rule [3,2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 2) [Branch (Pattern ("Prelude","Just") [4]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Var 3]]),Branch (Pattern ("Prelude","Nothing") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3])]])),Func ("OracleMaybe","_case_3") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Prelude","[]") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","Nothing") []]),Branch (Pattern ("Prelude",":") [3,4]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","Just") [Var 3]])]])),Func ("OracleMaybe","_case_4") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Prelude","Nothing") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","[]") []]),Branch (Pattern ("Prelude","Just") [3]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []]])]])),Func ("OracleMaybe","_case_5") 3 Private (TVar (-42)) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 3) [Branch (Pattern ("Prelude","Nothing") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 2]),Branch (Pattern ("Prelude","Just") [4]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 4])]])),Func ("OracleMaybe","_case_6") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Prelude","Just") [3]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3]),Branch (Pattern ("Prelude","Nothing") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude","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","[]") []]]]]]]]]]]]]]]]]]]]]]]],Var 1]])]])),Func ("OracleMaybe","_case_7") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Prelude","Nothing") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","True") []]),Branch (Pattern ("Prelude","Just") [3]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []])]])),Func ("OracleMaybe","_case_8") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Prelude","Just") [3]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","True") []]),Branch (Pattern ("Prelude","Nothing") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []])]]))] [Op ("OracleMaybe",">>-") InfixlOp 1]