Prog "Oracle" ["CEventOracle","IOExts","Prelude","Unsafe","Meta"] [Type ("CEventOracle","Ref") Public [] []] [Func ("CEventOracle","fresh") 1 Public (FuncType (TCons ("Prelude","()") []) (TCons ("CEventOracle","Ref") [])) (Rule [] (Var 0)),Func ("CEventOracle","replace") 2 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 0))) (Rule [] (Var 0)),Func ("CEventOracle","collapse") 2 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 0))) (Rule [] (Var 0)),Func ("CEventOracle","closeRef") 2 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 0))) (Rule [] (Var 0)),Func ("CEventOracle","expand") 3 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("CEventOracle","Ref") []]) (FuncType (TVar 0) (TVar 0)))) (Rule [] (Var 0)),Func ("Oracle","partCons") 3 Public (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1)))) (Rule [] (Var 0)),Func ("Oracle","partFunc") 3 Public (FuncType (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 1))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1)))) (Rule [] (Var 0)),Func ("Oracle","partCall") 2 Public (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0))) (Rule [] (Var 0)),Func ("Oracle","apply") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 1)))) (Rule [] (Var 0)),Func ("Oracle","$!") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 1)))) (Rule [] (Var 0)),Func ("Oracle","$!!") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 1)))) (Rule [] (Var 0)),Func ("Oracle","$#") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 1)))) (Rule [] (Var 0)),Func ("Oracle","$##") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 1)))) (Rule [] (Var 0)),Func ("Oracle",">>=") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 0]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 1]))))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 1])))))) (Rule [] (Var 0)),Func ("Oracle","compose") 3 Public (FuncType (FuncType (TVar 0) (TVar 1)) (FuncType (FuncType (TVar 2) (TVar 0)) (FuncType (TVar 2) (TVar 1)))) (Rule [] (Var 0)),Func ("Oracle","oracle") 1 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0)) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (Rule [] (Var 0)),Func ("Oracle","oracleIO") 1 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 0])))) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (Rule [] (Var 0)),Func ("Oracle","unknown") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0)) (Rule [] (Var 0))] [Op ("Oracle","$!") InfixrOp 0,Op ("Oracle","$!!") InfixrOp 0,Op ("Oracle","$#") InfixrOp 0,Op ("Oracle","$##") InfixrOp 0]