Prog "Oracle" ["CEventOracle","IOExts","Prelude","Unsafe","Meta"] [] [Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1)))),"Oracle","partCons")) 3 Public (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TVar 0) (TVar 1)))) (Rule [(Just (FuncType (TVar 0) (TVar 1)),1),(Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),2),(Just (TVar 0),3)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 1) (TVar 1))),"CEventOracle","closeRef")) [Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),2)),Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))),"Prelude","apply")) [Var ((Just (FuncType (TVar 0) (TVar 1)),1)),Var ((Just (TVar 0),3))]])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TVar 1))) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1)))),"Oracle","partFunc")) 3 Public (FuncType (FuncType (TVar 0) (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (TVar 1))) (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TVar 0) (TVar 1)))) (Rule [(Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TVar 1))),1),(Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),2),(Just (TVar 0),3)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TVar 1)) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TVar 1))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TVar 1)))),"Prelude","apply")) [Var ((Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TVar 1))),1)),Var ((Just (TVar 0),3))],Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),2))])),Func ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TVar 0))),"Oracle","partCall")) 2 Public (FuncType (TVar 0) (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (TVar 0))) (Rule [(Just (TVar 0),1),(Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),2)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 0))),"CEventOracle","closeRef")) [Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),2)),Var ((Just (TVar 0),1))])),Func ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TVar 1)))),"Oracle","apply")) 3 Public (FuncType (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (TVar 1)))) (Rule [(Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))),1),(Just (TVar 0),2),(Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),3)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TVar 1)))),"CEventOracle","apply")) [Var ((Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))),1)),Var ((Just (TVar 0),2)),Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),3))])),Func ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TVar 1)))),"Oracle","$!")) 3 Public (FuncType (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (TVar 1)))) (Rule [(Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))),1),(Just (TVar 0),2),(Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),3)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TVar 1)))),"CEventOracle","$!")) [Var ((Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))),1)),Var ((Just (TVar 0),2)),Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),3))])),Func ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TVar 1)))),"Oracle","$!!")) 3 Public (FuncType (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (TVar 1)))) (Rule [(Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))),1),(Just (TVar 0),2),(Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),3)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TVar 1)))),"CEventOracle","$!!")) [Var ((Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))),1)),Var ((Just (TVar 0),2)),Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),3))])),Func ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TVar 1)))),"Oracle","$#")) 3 Public (FuncType (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (TVar 1)))) (Rule [(Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))),1),(Just (TVar 0),2),(Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),3)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TVar 1)))),"CEventOracle","$#")) [Var ((Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))),1)),Var ((Just (TVar 0),2)),Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),3))])),Func ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TVar 1)))),"Oracle","$##")) 3 Public (FuncType (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (TVar 1)))) (Rule [(Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))),1),(Just (TVar 0),2),(Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),3)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TVar 1)))),"CEventOracle","$##")) [Var ((Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))),1)),Var ((Just (TVar 0),2)),Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),3))])),Func ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))))) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])))))),"Oracle","headNormalFormIO")) 3 Private (FuncType (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TVar 0) (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","()")) []) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 1]))))) (FuncType (TVar 0) (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","()")) []) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 1])))))) (Rule [(Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))))),1),(Just (TVar 0),2),(Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),3)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])))),"Prelude","error")) [Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'h'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'e'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'a'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'd'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'N'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'o'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'r'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'm'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'a'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'l'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'F'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'o'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'r'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'm'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'I'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'O'),Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),"Prelude","[]")) []]]]]]]]]]]]]]]]]])),Func ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TVar 0))),"Oracle","prim_unsafePerformIO")) 2 Private (FuncType (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","()")) []) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0]))) (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (TVar 0))) (Rule [(Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))),1),(Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),2)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 0))),"CEventOracle","replace")) [Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),2)),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]) (TVar 0)),"Unsafe","unsafePerformIO")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])))),"Prelude","apply")) [Var ((Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))),1)),Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),2))],Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","()") []),"Prelude","()")) []]]])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])))),"Oracle","lambda_world")) 3 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0]) (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","()")) []) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0])))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]),1),(Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),2),(Just (TCons (Nothing,Nothing,"Prelude","()") []),3)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))),"CEventOracle","collapse")) [Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),2)),Var ((Just (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]),1))])),Func ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))) (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))))) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])))))),"Oracle",">>=")) 3 Public (FuncType (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","()")) []) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0]))) (FuncType (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TVar 0) (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","()")) []) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 1]))))) (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","()")) []) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 1])))))) (Rule [(Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))),1),(Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))))),2),(Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),3)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))))),"CEventOracle","collapse")) [Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),3)),Comb (FuncPartCall 2) ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])))),"Oracle","partFunc")) [Comb (FuncPartCall 2) ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))) (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))))) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))))),"Oracle","bind")) [Var ((Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))),1)),Var ((Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))))),2))]]])),Func ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))) (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))))) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))))),"Oracle","bind")) 4 Private (FuncType (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","()")) []) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0]))) (FuncType (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TVar 0) (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","()")) []) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 1]))))) (FuncType (TCons ((Nothing,Nothing,"Prelude","()")) []) (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 1]))))) (Rule [(Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))),1),(Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))))),2),(Just (TCons (Nothing,Nothing,"Prelude","()") []),3),(Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),4)] (Let [((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),5),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"CEventOracle","Ref") [])),"CEventOracle","fresh")) [Comb ConsCall ((Nothing,Just (TVar 4),"Prelude","()")) []])] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"CEventOracle","Ref") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])))),"CEventOracle","expand")) [Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),4)),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"CEventOracle","Ref") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"CEventOracle","Ref") []]))),"Prelude",":")) [Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),5)),Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"CEventOracle","Ref") []]),"Prelude","[]")) []],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",">>=")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])))),"Oracle","apply")) [Var ((Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","()") []),3)),Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),4))],Comb (FuncPartCall 1) ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))))) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))))),"Oracle","bind2")) [Var ((Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))))),2)),Var ((Just (TCons (Nothing,Nothing,"Prelude","()") []),3)),Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),5))]]]))),Func ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))))) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))))),"Oracle","bind2")) 4 Private (FuncType (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TVar 0) (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","()")) []) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 1]))))) (FuncType (TCons ((Nothing,Nothing,"Prelude","()")) []) (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 1]))))) (Rule [(Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))))),1),(Just (TCons (Nothing,Nothing,"Prelude","()") []),2),(Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),3),(Just (TVar 0),4)] (Let [((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),5),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"CEventOracle","Ref") [])),"CEventOracle","fresh")) [Comb ConsCall ((Nothing,Just (TVar 4),"Prelude","()")) []])] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"CEventOracle","Ref") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])))),"CEventOracle","expand")) [Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),3)),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"CEventOracle","Ref") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"CEventOracle","Ref") []]))),"Prelude",":")) [Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),5)),Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"CEventOracle","Ref") []]),"Prelude","[]")) []],Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])))),"Oracle","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))))) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])))))),"Oracle","apply")) [Var ((Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))))),1)),Var ((Just (TVar 0),4)),Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),3))],Var ((Just (TCons (Nothing,Nothing,"Prelude","()") []),2)),Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),5))]]))),Func ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))) (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])))))),"Oracle","catchFail")) 3 Private (FuncType (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","()")) []) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0]))) (FuncType (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","()")) []) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0]))) (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","()")) []) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0])))))) (Rule [(Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))),1),(Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))),2),(Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),3)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))))),"CEventOracle","collapse")) [Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),3)),Comb (FuncPartCall 2) ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])))),"Oracle","partFunc")) [Comb (FuncPartCall 2) ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))) (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))))),"Oracle","catch")) [Var ((Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))),1)),Var ((Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))),2))]]])),Func ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))) (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))))),"Oracle","catch")) 4 Private (FuncType (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","()")) []) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0]))) (FuncType (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","()")) []) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0]))) (FuncType (TCons ((Nothing,Nothing,"Prelude","()")) []) (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0]))))) (Rule [(Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))),1),(Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))),2),(Just (TCons (Nothing,Nothing,"Prelude","()") []),3),(Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),4)] (Let [((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),5),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"CEventOracle","Ref") [])),"CEventOracle","fresh")) [Comb ConsCall ((Nothing,Just (TVar 165),"Prelude","()")) []])] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"CEventOracle","Ref") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])))),"CEventOracle","expand")) [Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),4)),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"CEventOracle","Ref") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"CEventOracle","Ref") []]))),"Prelude",":")) [Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),5)),Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"CEventOracle","Ref") []]),"Prelude","[]")) []],Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Bool") [],TVar 0]]) (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Bool") [],TVar 0]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))),"Prelude",">>=")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Bool") [],TVar 0]]) (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Bool") [],TVar 0]]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Bool") [],TVar 0]]))),"Prelude","catchFail")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]) (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Bool") [],TVar 0]])) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Bool") [],TVar 0]]))),"Prelude",">>=")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])))),"Oracle","apply")) [Var ((Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))),1)),Var ((Just (TCons (Nothing,Nothing,"Prelude","()") []),3)),Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),4))],Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Bool") [],TVar 0]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Bool") [],TVar 0]])) (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Bool") [],TVar 0])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Bool") [],TVar 0]])))),"Prelude",".")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Bool") [],TVar 0]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Bool") [],TVar 0]])),"Prelude","return")) [],Comb (ConsPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Bool") [],TVar 0]))),"Prelude","(,)")) [Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []]]],Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]) (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Bool") [],TVar 0]])) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Bool") [],TVar 0]]))),"Prelude",">>=")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])))),"Oracle","apply")) [Var ((Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))),2)),Var ((Just (TCons (Nothing,Nothing,"Prelude","()") []),3)),Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),5))],Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Bool") [],TVar 0]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Bool") [],TVar 0]])) (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Bool") [],TVar 0])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Bool") [],TVar 0]])))),"Prelude",".")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Bool") [],TVar 0]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Bool") [],TVar 0]])),"Prelude","return")) [],Comb (ConsPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Bool") []) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Bool") [],TVar 0]))),"Prelude","(,)")) [Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []]]]],Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Bool") [],TVar 0]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])),"Oracle","catch._#lambda2")) []]]))),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Bool") [],TVar 162]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 162])),"Oracle","catch._#lambda2")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","(,)")) [TCons ((Nothing,Nothing,"Prelude","Bool")) [],TVar 162]) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 162])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Bool") [],TVar 162]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Bool") [],TVar 162]),1))) [Branch (Pattern ((Nothing,Just (FuncType (TVar 164) (FuncType (TVar 162) (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Bool") [],TVar 162]))),"Prelude","(,)")) [(Just (TVar 164),2),(Just (TVar 162),3)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 164]) (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 162]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 162]))),"Prelude",">>")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 164]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 164])),"Oracle","safeIOResult")) [Comb FuncCall ((Nothing,Just (FuncType (TVar 164) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 164])),"Prelude","return")) [Var ((Just (TVar 164),2))]],Comb FuncCall ((Nothing,Just (FuncType (TVar 162) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 162])),"Prelude","return")) [Var ((Just (TVar 162),3))]])])),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (FuncType (TVar 2) (TVar 0)) (FuncType (TVar 2) (TVar 1)))),"Oracle","compose")) 3 Public (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (FuncType (TVar 2) (TVar 0)) (FuncType (TVar 2) (TVar 1)))) (Rule [(Just (FuncType (TVar 0) (TVar 1)),1),(Just (FuncType (TVar 2) (TVar 0)),2),(Just (TVar 2),3)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TVar 0) (TVar 1))),"Prelude","apply")) [Var ((Just (FuncType (TVar 0) (TVar 1)),1)),Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 2) (TVar 0)) (FuncType (TVar 2) (TVar 0))),"Prelude","apply")) [Var ((Just (FuncType (TVar 2) (TVar 0)),2)),Var ((Just (TVar 2),3))]])),Func ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TVar 0)) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []])),"Oracle","oracle")) 1 Public (FuncType (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (TVar 0)) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","()")) []])) (Rule [(Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TVar 0)),1)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []])),"CEventOracle","initialize")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])) (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TVar 0)) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])))),"Prelude",".")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])),"Prelude","return")) [],Var ((Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TVar 0)),1))]])),Func ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])))) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []])),"Oracle","oracleIO")) 1 Public (FuncType (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","()")) []) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0])))) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","()")) []])) (Rule [(Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])))),1)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []])),"CEventOracle","initialize")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])))) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))),"Oracle","oracleIO._#lambda3")) [Var ((Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])))),1))]])),Func ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 195])))) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 195]))),"Oracle","oracleIO._#lambda3")) 2 Private (FuncType (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (FuncType (TCons ((Nothing,Nothing,"Prelude","()")) []) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 195])))) (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 195]))) (Rule [(Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 195])))),1),(Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),2)] (Let [((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),3),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"CEventOracle","Ref") [])),"CEventOracle","fresh")) [Comb ConsCall ((Nothing,Just (TVar 199),"Prelude","()")) []])] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"CEventOracle","Ref") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 195]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 195])))),"CEventOracle","expand")) [Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),2)),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"CEventOracle","Ref") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"CEventOracle","Ref") []]))),"Prelude",":")) [Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),3)),Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"CEventOracle","Ref") []]),"Prelude","[]")) []],Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 195])) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 195]))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 195]))) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 195])))),"Prelude","apply")) [Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 195])))) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 195]))))),"Prelude","apply")) [Var ((Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TCons (Nothing,Nothing,"Prelude","()") []) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 195])))),1)),Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),2))],Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),3))],Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","()") []),"Prelude","()")) []]]))),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])),"Oracle","safeIOResult")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]),1)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","Maybe") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]]) (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","Maybe") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))),"Prelude",">>=")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","Maybe") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]])),"IOExts","getAssoc")) [Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'e'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'x'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 't'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'f'),Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc 'n'),Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),"Prelude","[]")) []]]]]]],Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","Maybe") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]))),"Oracle","safeIOResult._#lambda4")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0]),1))]])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 120]) (FuncType (TCons (Nothing,Nothing,"Prelude","Maybe") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 120]))),"Oracle","safeIOResult._#lambda4")) 2 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 120]) (FuncType (TCons ((Nothing,Nothing,"Prelude","Maybe")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]]) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 120]))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","IO") [TVar 120]),1),(Just (TCons (Nothing,Nothing,"Prelude","Maybe") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","Maybe") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]),2))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","Maybe") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]])),"Prelude","Just")) [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),3)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 120]) (FuncType (FuncType (TVar 120) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 120])) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 120]))),"Prelude",">>=")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","IO") [TVar 120]),1)),Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (TVar 120) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 120]))),"Oracle","safeIOResult._#lambda4._#lambda5")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),3))]])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (TVar 120) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 120]))),"Oracle","safeIOResult._#lambda4._#lambda5")) 2 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]) (FuncType (TVar 120) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 120]))) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),1),(Just (TVar 120),2)] (Let [((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),3),Comb FuncCall ((Nothing,Just (FuncType (TVar 121) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []])),"Prelude","show")) [Var ((Just (TVar 120),2))])] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","IO") [TVar 120]) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 120]))),"Prelude",">>")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","()") []]))),"Prelude","appendFile")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),1)),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude","++")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []])),"Prelude","show")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","Int") [])),"Prelude","length")) [Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),3))]],Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Char") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]))),"Prelude",":")) [Lit (Charc '\n'),Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]),3))]]],Comb FuncCall ((Nothing,Just (FuncType (TVar 120) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 120])),"Prelude","return")) [Var ((Just (TVar 120),2))]]))),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TVar 0)),"Oracle","unknown")) 1 Public (FuncType (TCons ((Nothing,Nothing,"CEventOracle","Ref")) []) (TVar 0)) (Rule [(Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),1)] (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TVar 0)),"CEventOracle","unknown")) [Var ((Just (TCons (Nothing,Nothing,"CEventOracle","Ref") []),1))]))] [Op ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TVar 1)))),"Oracle","$!")) InfixrOp 0,Op ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TVar 1)))),"Oracle","$!!")) InfixrOp 0,Op ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TVar 1)))),"Oracle","$#")) InfixrOp 0,Op ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"CEventOracle","Ref") []) (TVar 1)))),"Oracle","$##")) InfixrOp 0]