Prog "EventOracle" ["IOExts","Prelude","System","Unsafe"] [TypeSyn ("EventOracle","Ref") Public [] (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]),TypeSyn ("EventOracle","Cost") Public [] (TCons ("Prelude","Int") []),Type ("EventOracle","Node") Public [] [Cons ("EventOracle","Node") 3 Public [TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []],TCons ("Prelude","Int") [],TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]],Cons ("EventOracle","Marker") 0 Public [],Cons ("EventOracle","Collapsed") 0 Public []]] [Func ("EventOracle","initialize") 1 Public (FuncType (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TVar 0])) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (Rule [1] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("System","getProgName") [],Comb (FuncPartCall 1) ("EventOracle","initialize._#lambda2") [Var 1]])),Func ("EventOracle","initialize._#lambda2") 2 Private (FuncType (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TVar 59])) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))) (Rule [1,2] (Let [(3,Comb FuncCall ("Prelude","++") [Var 2,Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'x'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude","[]") []]]]]])] (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("IOExts","setAssoc") [Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'x'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude","[]") []]]]]],Var 3],Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Prelude","writeFile") [Var 3,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","newIORef") [Comb FuncCall ("Prelude","error") [Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'M'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'k'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]],Comb (FuncPartCall 1) ("EventOracle","initialize._#lambda2._#lambda3") [Var 1,Var 2]]]]))),Func ("EventOracle","initialize._#lambda2._#lambda3") 3 Private (FuncType (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TVar 59])) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))) (Rule [1,2,3] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","newIORef") [Comb FuncCall ("Prelude","error") [Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc 'M'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'k'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]],Comb (FuncPartCall 1) ("EventOracle","initialize._#lambda2._#lambda3._#lambda4") [Var 1,Var 2,Var 3]])),Func ("EventOracle","initialize._#lambda2._#lambda3._#lambda4") 4 Private (FuncType (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TVar 59])) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))))) (Rule [1,2,3,4] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","newIORef") [Comb ConsCall ("EventOracle","Node") [Var 3,Lit (Intc 0),Var 4]],Comb (FuncPartCall 1) ("EventOracle","initialize._#lambda2._#lambda3._#lambda4._#lambda5") [Var 1,Var 4,Var 2,Var 3]])),Func ("EventOracle","initialize._#lambda2._#lambda3._#lambda4._#lambda5") 5 Private (FuncType (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TVar 59])) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))))) (Rule [1,2,3,4,5] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","newIORef") [Comb ConsCall ("EventOracle","Marker") []],Comb (FuncPartCall 1) ("EventOracle","initialize._#lambda2._#lambda3._#lambda4._#lambda5._#lambda6") [Var 1,Var 2,Var 5,Var 3,Var 4]])),Func ("EventOracle","initialize._#lambda2._#lambda3._#lambda4._#lambda5._#lambda6") 6 Private (FuncType (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TVar 59])) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))))))) (Rule [1,2,3,4,5,6] (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("IOExts","writeIORef") [Var 5,Comb ConsCall ("EventOracle","Node") [Var 6,Lit (Intc 0),Var 3]],Comb FuncCall ("Prelude",">>") [Comb FuncCall ("IOExts","writeIORef") [Var 2,Comb ConsCall ("EventOracle","Node") [Var 3,Lit (Intc 0),Var 6]],Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Prelude","apply") [Var 1,Var 3],Comb (FuncPartCall 1) ("EventOracle","initialize._#lambda2._#lambda3._#lambda4._#lambda5._#lambda6._#lambda7") [Var 2,Var 4,Var 5]]]])),Func ("EventOracle","initialize._#lambda2._#lambda3._#lambda4._#lambda5._#lambda6._#lambda7") 4 Private (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TVar 59) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))))) (Rule [1,2,3,4] (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Prelude","$!!") [Comb (FuncPartCall 1) ("Prelude","return") [],Var 4],Comb FuncCall ("Prelude",">>") [Comb FuncCall ("Prelude","putStrLn") [Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'z'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'g'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]],Comb FuncCall ("Prelude",">>") [Comb FuncCall ("EventOracle","finalize") [Var 2,Var 3,Var 1],Comb FuncCall ("Prelude","return") [Comb ConsCall ("Prelude","()") []]]]])),Func ("EventOracle","finalize") 3 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))) (Rule [1,2,3] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("EventOracle","pointerToList") [Var 2,Var 3],Comb (FuncPartCall 1) ("EventOracle","finalize._#lambda8") [Var 1]])),Func ("EventOracle","finalize._#lambda8") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))) (Rule [1,2] (Case Flex (Var 2) [Branch (Pattern ("Prelude",":") [3,4]) (Comb FuncCall ("Prelude","writeFile") [Comb FuncCall ("Prelude","++") [Var 1,Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude","[]") []]]]]]]],Comb FuncCall ("Prelude","++") [Comb FuncCall ("Prelude","show") [Var 4],Comb ConsCall ("Prelude",":") [Lit (Charc '\n'),Comb ConsCall ("Prelude",":") [Lit (Charc '.'),Comb ConsCall ("Prelude",":") [Lit (Charc '\n'),Comb ConsCall ("Prelude","[]") []]]]]])])),Func ("EventOracle","fresh") 1 Public (FuncType (TCons ("Prelude","()") []) (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []])) (Rule [1] (Comb FuncCall ("Unsafe","unsafePerformIO") [Comb FuncCall ("IOExts","newIORef") [Comb FuncCall ("Prelude","error") [Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'h'),Comb ConsCall ("Prelude","[]") []]]]]]]]])),Func ("EventOracle","replace") 2 Public (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TVar 0) (TVar 0))) (Rule [1,2] (Comb FuncCall ("Unsafe","unsafePerformIO") [Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","readIORef") [Var 1],Comb (FuncPartCall 1) ("EventOracle","replace._#lambda9") [Var 1,Var 2]]])),Func ("EventOracle","replace._#lambda9") 3 Private (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TVar 76) (FuncType (TCons ("EventOracle","Node") []) (TCons ("Prelude","IO") [TVar 76])))) (Rule [1,2,3] (Comb FuncCall ("Prelude",">>") [Case Rigid (Var 3) [Branch (Pattern ("EventOracle","Collapsed") []) (Comb FuncCall ("EventOracle","warning") [Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]),Branch (Pattern ("EventOracle","Node") [4,5,6]) (Comb FuncCall ("Prelude","$!!") [Comb (FuncPartCall 1) ("IOExts","writeIORef") [Var 1],Comb ConsCall ("EventOracle","Node") [Var 4,Comb FuncCall ("Prelude","+") [Var 5,Lit (Intc 1)],Var 6]]),Branch (Pattern ("EventOracle","Marker") []) (Comb FuncCall ("Prelude","failed") [])],Comb FuncCall ("Prelude","return") [Var 2]])),Func ("EventOracle","collapse") 2 Public (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TVar 0) (TVar 0))) (Rule [1,2] (Comb FuncCall ("Unsafe","unsafePerformIO") [Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","readIORef") [Var 1],Comb (FuncPartCall 1) ("EventOracle","collapse._#lambda11") [Var 1,Var 2]]])),Func ("EventOracle","collapse._#lambda11") 3 Private (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TVar 93) (FuncType (TCons ("EventOracle","Node") []) (TCons ("Prelude","IO") [TVar 93])))) (Rule [1,2,3] (Comb FuncCall ("Prelude",">>") [Case Rigid (Var 3) [Branch (Pattern ("EventOracle","Collapsed") []) (Comb FuncCall ("EventOracle","warning") [Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]),Branch (Pattern ("EventOracle","Node") [4,5,6]) (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","readIORef") [Var 4],Comb (FuncPartCall 1) ("EventOracle","collapse._#lambda11._#lambda13") [Var 5,Var 4,Var 1,Var 6]]),Branch (Pattern ("EventOracle","Marker") []) (Comb FuncCall ("Prelude","failed") [])],Comb FuncCall ("Prelude","return") [Var 2]])),Func ("EventOracle","collapse._#lambda11._#lambda13") 5 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("EventOracle","Node") []) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))))) (Rule [1,2,3,4,5] (Case Flex (Var 5) [Branch (Pattern ("EventOracle","Node") [6,7,8]) (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","readIORef") [Var 4],Comb (FuncPartCall 1) ("EventOracle","collapse._#lambda11._#lambda13._#lambda14") [Var 1,Var 2,Var 7,Var 6,Var 3,Var 4]])])),Func ("EventOracle","collapse._#lambda11._#lambda13._#lambda14") 7 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("EventOracle","Node") []) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))))))) (Rule [1,2,3,4,5,6,7] (Case Flex (Var 7) [Branch (Pattern ("EventOracle","Node") [8,9,10]) (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("IOExts","writeIORef") [Var 5,Comb ConsCall ("EventOracle","Collapsed") []],Comb FuncCall ("Prelude",">>") [Comb FuncCall ("IOExts","writeIORef") [Var 2,Comb ConsCall ("EventOracle","Node") [Var 4,Var 3,Var 6]],Comb FuncCall ("Prelude","$!!") [Comb (FuncPartCall 1) ("IOExts","writeIORef") [Var 6],Comb ConsCall ("EventOracle","Node") [Var 2,Comb FuncCall ("Prelude","+") [Comb FuncCall ("Prelude","+") [Var 1,Lit (Intc 1)],Var 9],Var 10]]]])])),Func ("EventOracle","closeRef") 2 Public (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TVar 0) (TVar 0))) (Rule [1,2] (Comb FuncCall ("Unsafe","unsafePerformIO") [Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","readIORef") [Var 1],Comb (FuncPartCall 1) ("EventOracle","closeRef._#lambda15") [Var 1,Var 2]]])),Func ("EventOracle","closeRef._#lambda15") 3 Private (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TVar 123) (FuncType (TCons ("EventOracle","Node") []) (TCons ("Prelude","IO") [TVar 123])))) (Rule [1,2,3] (Comb FuncCall ("Prelude",">>") [Case Rigid (Var 3) [Branch (Pattern ("EventOracle","Collapsed") []) (Comb FuncCall ("EventOracle","warning") [Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]),Branch (Pattern ("EventOracle","Node") [4,5,6]) (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","readIORef") [Var 4],Comb (FuncPartCall 1) ("EventOracle","closeRef._#lambda15._#lambda17") [Var 5,Var 4,Var 1,Var 6]]),Branch (Pattern ("EventOracle","Marker") []) (Comb FuncCall ("Prelude","failed") [])],Comb FuncCall ("Prelude","return") [Var 2]])),Func ("EventOracle","closeRef._#lambda15._#lambda17") 5 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("EventOracle","Node") []) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))))) (Rule [1,2,3,4,5] (Case Flex (Var 5) [Branch (Pattern ("EventOracle","Node") [6,7,8]) (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","readIORef") [Var 4],Comb (FuncPartCall 1) ("EventOracle","closeRef._#lambda15._#lambda17._#lambda18") [Var 1,Var 2,Var 7,Var 6,Var 3,Var 4]])])),Func ("EventOracle","closeRef._#lambda15._#lambda17._#lambda18") 7 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("EventOracle","Node") []) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))))))) (Rule [1,2,3,4,5,6,7] (Case Flex (Var 7) [Branch (Pattern ("EventOracle","Node") [8,9,10]) (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("IOExts","writeIORef") [Var 5,Comb ConsCall ("EventOracle","Collapsed") []],Comb FuncCall ("Prelude",">>") [Comb FuncCall ("IOExts","writeIORef") [Var 2,Comb ConsCall ("EventOracle","Node") [Var 4,Var 3,Var 6]],Comb FuncCall ("Prelude","$!!") [Comb (FuncPartCall 1) ("IOExts","writeIORef") [Var 6],Comb ConsCall ("EventOracle","Node") [Var 2,Comb FuncCall ("Prelude","+") [Var 1,Var 9],Var 10]]]])])),Func ("EventOracle","expand") 3 Public (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("Prelude","[]") [TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]]) (FuncType (TVar 0) (TVar 0)))) (Rule [1,2,3] (Comb FuncCall ("Unsafe","unsafePerformIO") [Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","readIORef") [Var 1],Comb (FuncPartCall 1) ("EventOracle","expand._#lambda19") [Var 1,Var 2,Var 3]]])),Func ("EventOracle","expand._#lambda19") 4 Private (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("Prelude","[]") [TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]]) (FuncType (TVar 175) (FuncType (TCons ("EventOracle","Node") []) (TCons ("Prelude","IO") [TVar 175]))))) (Rule [1,2,3,4] (Comb FuncCall ("Prelude",">>") [Case Rigid (Var 4) [Branch (Pattern ("EventOracle","Collapsed") []) (Comb FuncCall ("EventOracle","warning") [Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'x'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]),Branch (Pattern ("EventOracle","Node") [5,6,7]) (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","$!!") [Comb (FuncPartCall 4) ("EventOracle","toAssocList") [],Comb FuncCall ("Prelude","+") [Var 6,Lit (Intc 1)]],Var 5],Comb ConsCall ("Prelude",":") [Var 1,Var 2]],Var 7],Comb (FuncPartCall 1) ("EventOracle","expand._#lambda19._#lambda21") [Var 7]]),Branch (Pattern ("EventOracle","Marker") []) (Comb FuncCall ("Prelude","failed") [])],Comb FuncCall ("Prelude","return") [Var 3]])),Func ("EventOracle","expand._#lambda19._#lambda21") 2 Private (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))) (Rule [1,2] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","readIORef") [Var 1],Comb (FuncPartCall 1) ("EventOracle","expand._#lambda19._#lambda21._#lambda22") [Var 2,Var 1]])),Func ("EventOracle","expand._#lambda19._#lambda21._#lambda22") 3 Private (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("EventOracle","Node") []) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))) (Rule [1,2,3] (Case Rigid (Var 3) [Branch (Pattern ("EventOracle","Collapsed") []) (Comb FuncCall ("EventOracle","warning") [Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'x'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]),Branch (Pattern ("EventOracle","Node") [4,5,6]) (Comb FuncCall ("IOExts","writeIORef") [Var 2,Comb ConsCall ("EventOracle","Node") [Var 1,Var 5,Var 6]]),Branch (Pattern ("EventOracle","Marker") []) (Comb FuncCall ("Prelude","done") [])])),Func ("EventOracle","toAssocList") 4 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("Prelude","[]") [TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]]))))) (Rule [1,2,3,4] (Case Flex (Var 3) [Branch (Pattern ("Prelude",":") [5,6]) (Case Flex (Var 6) [Branch (Pattern ("Prelude","[]") []) (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("IOExts","writeIORef") [Var 5,Comb ConsCall ("EventOracle","Node") [Var 2,Var 1,Var 4]],Comb FuncCall ("Prelude","return") [Var 5]]),Branch (Pattern ("Prelude",":") [7,8]) (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("IOExts","writeIORef") [Var 5,Comb ConsCall ("EventOracle","Node") [Var 2,Var 1,Var 7]],Comb FuncCall ("EventOracle","toAssocList") [Lit (Intc 0),Var 5,Var 6,Var 4]])])])),Func ("EventOracle","pointerToList") 2 Public (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]))) (Rule [1,2] (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("IOExts","readIORef") [Var 1],Comb (FuncPartCall 1) ("EventOracle","pointerToList._#lambda24") [Var 2]])),Func ("EventOracle","pointerToList._#lambda24") 2 Private (FuncType (TCons ("IOExts","IORef") [TCons ("EventOracle","Node") []]) (FuncType (TCons ("EventOracle","Node") []) (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]))) (Rule [1,2] (Case Rigid (Var 2) [Branch (Pattern ("EventOracle","Collapsed") []) (Comb FuncCall ("Prelude",">>") [Comb FuncCall ("EventOracle","warning") [Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'p'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'f'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'c'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],Comb FuncCall ("Prelude","return") [Comb ConsCall ("Prelude","[]") []]]),Branch (Pattern ("EventOracle","Node") [3,4,5]) (Comb FuncCall ("Prelude",">>=") [Comb FuncCall ("EventOracle","pointerToList") [Var 5,Var 1],Comb (FuncPartCall 1) ("EventOracle","pointerToList._#lambda24._#lambda26") [Var 4]]),Branch (Pattern ("EventOracle","Marker") []) (Comb FuncCall ("Prelude","return") [Comb ConsCall ("Prelude","[]") []])])),Func ("EventOracle","pointerToList._#lambda24._#lambda26") 2 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TCons ("Prelude","Int") []]]))) (Rule [1,2] (Comb FuncCall ("Prelude","return") [Comb ConsCall ("Prelude",":") [Var 1,Var 2]])),Func ("EventOracle","warning") 1 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])) (Rule [1] (Comb FuncCall ("Prelude","$") [Comb (FuncPartCall 1) ("Prelude","putStrLn") [],Comb FuncCall ("Prelude","++") [Comb ConsCall ("Prelude",":") [Lit (Charc 'W'),Comb ConsCall ("Prelude",":") [Lit (Charc 'A'),Comb ConsCall ("Prelude",":") [Lit (Charc 'R'),Comb ConsCall ("Prelude",":") [Lit (Charc 'N'),Comb ConsCall ("Prelude",":") [Lit (Charc 'I'),Comb ConsCall ("Prelude",":") [Lit (Charc 'N'),Comb ConsCall ("Prelude",":") [Lit (Charc 'G'),Comb ConsCall ("Prelude",":") [Lit (Charc ':'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude","[]") []]]]]]]]]],Var 1]]))] []