Prog "Meta" ["Prelude"] [Type ((Nothing,Nothing,"Meta","RichSearchTree")) Public [0] [Cons ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Meta","Exception") []) (TCons (Nothing,Nothing,"Meta","RichSearchTree") [TVar 0])),"Meta","RichFail")) 1 Public [TCons ((Nothing,Nothing,"Meta","Exception")) []],Cons ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Meta","RichSearchTree") [TVar 0])),"Meta","RichValue")) 1 Public [TVar 0],Cons ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Meta","OrRef") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Meta","RichSearchTree") [TVar 0]]) (TCons (Nothing,Nothing,"Meta","RichSearchTree") [TVar 0]))),"Meta","RichChoice")) 2 Public [TCons ((Nothing,Nothing,"Meta","OrRef")) [],TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Meta","RichSearchTree")) [TVar 0]]],Cons ((Nothing,Just (TCons (Nothing,Nothing,"Meta","RichSearchTree") [TVar 0]),"Meta","RichSuspend")) 0 Public []],Type ((Nothing,Nothing,"Meta","Exception")) Public [] [Cons ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Meta","Exception") [])),"Meta","ErrorCall")) 1 Public [TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]],Cons ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Meta","Exception") [])),"Meta","PatternMatchFail")) 1 Public [TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]],Cons ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Meta","Exception") [])),"Meta","AssertionFailed")) 1 Public [TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]],Cons ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]) (TCons (Nothing,Nothing,"Meta","Exception") [])),"Meta","IOException")) 1 Public [TCons ((Nothing,Nothing,"Prelude","[]")) [TCons ((Nothing,Nothing,"Prelude","Char")) []]],Cons ((Nothing,Just (TCons (Nothing,Nothing,"Meta","Exception") []),"Meta","PreludeFailed")) 0 Public []],Type ((Nothing,Nothing,"Meta","OrRef")) Public [] [],Type ((Nothing,Nothing,"Meta","Seq")) Private [0] [Cons ((Nothing,Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),"Meta","Nil")) 0 Private [],Cons ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]))),"Meta","Cons")) 2 Private [TVar 0,TCons ((Nothing,Nothing,"Meta","Seq")) [TVar 0]],Cons ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0])),"Meta","Continued")) 1 Private [TCons ((Nothing,Nothing,"Meta","Seq")) [TVar 0]]]] [Func ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","Either") [TVar 0,TVar 0]])),"Meta","isFree")) 1 Public (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","Either")) [TVar 0,TVar 0]])) (Rule [(Just (TVar 0),1)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","Either") [TVar 0,TVar 0]])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","Either") [TVar 0,TVar 0]]))),"Meta","headNormalFormIO")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","Either") [TVar 0,TVar 0]])),"Meta","prim_isFree")) [],Var ((Just (TVar 0),1))])),Func ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","Either") [TVar 0,TVar 0]])),"Meta","prim_isFree")) 1 Private (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","Either")) [TVar 0,TVar 0]])) (External "Meta.prim_isFree"),Func ((Nothing,Just (FuncType (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1])) (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 1]))),"Meta","headNormalFormIO")) 2 Public (FuncType (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 1])) (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 1]))) (External "Meta.headNormalFormIO"),Func ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0])),"Meta","searchTree")) 1 Public (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","SearchTree")) [TVar 0])) (External "Meta.searchTree"),Func ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])),"Meta","gnfIO")) 1 Public (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0])) (External "Meta.gnfIO"),Func ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])),"Meta","ghnfIO")) 1 Public (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0])) (External "Meta.ghnfIO"),Func ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])),"Meta","nfIO")) 1 Public (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0])) (External "Meta.nfIO"),Func ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TVar 0])),"Meta","hnfIO")) 1 Public (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","IO")) [TVar 0])) (External "Meta.hnfIO"),Func ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Meta","RichSearchTree") [TVar 0]])),"Meta","getRichSearchTree")) 1 Public (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Meta","RichSearchTree")) [TVar 0]])) (External "Meta.getRichSearchTree"),Func ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Meta","RichSearchTree") [TVar 0])),"Meta","richSearchTree")) 1 Public (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Meta","RichSearchTree")) [TVar 0])) (External "Meta.richSearchTree"),Func ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","IO") [TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]])),"Meta","parallelSearch")) 1 Public (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","IO")) [TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]])) (External "Meta.parallelSearch"),Func ((Nothing,Just (FuncType (TVar 0) (TVar 0)),"Meta","cover")) 1 Public (FuncType (TVar 0) (TVar 0)) (External "Meta.cover"),Func ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0])),"Meta","st")) 1 Public (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Prelude","SearchTree")) [TVar 0])) (External "Meta.st"),Func ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Meta","RichSearchTree") [TVar 0])),"Meta","richST")) 1 Public (FuncType (TVar 0) (TCons ((Nothing,Nothing,"Meta","RichSearchTree")) [TVar 0])) (External "Meta.richST"),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TVar 0)),"Meta","ors")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0]) (TVar 0)) (External "Meta.ors"),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Meta","Exception") []) (TVar 0)),"Meta","throw")) 1 Public (FuncType (TCons ((Nothing,Nothing,"Meta","Exception")) []) (TVar 0)) (Rule [(Just (TCons (Nothing,Nothing,"Meta","Exception") []),1)] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Meta","Exception") []) (TVar 0)) (FuncType (TCons (Nothing,Nothing,"Meta","Exception") []) (TVar 0))),"Prelude","$##")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Meta","Exception") []) (TVar 0)),"Meta","prim_throw")) [],Var ((Just (TCons (Nothing,Nothing,"Meta","Exception") []),1))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Meta","Exception") []) (TVar 0)),"Meta","prim_throw")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Meta","Exception")) []) (TVar 0)) (External "Meta.prim_throw"),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])),"Meta","list")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Meta","Seq")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0])) (Rule [(Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),"Meta","Nil")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]),"Prelude","[]")) []),Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]))),"Meta","Cons")) [(Just (TVar 0),2),(Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),3)]) (Comb ConsCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0]))),"Prelude",":")) [Var ((Just (TVar 0),2)),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])),"Meta","list")) [Var ((Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),3))]]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0])),"Meta","Continued")) [(Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),4)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])),"Meta","list")) [Var ((Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),4))])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]))),"Meta","interleave")) 2 Private (FuncType (TCons ((Nothing,Nothing,"Meta","Seq")) [TVar 0]) (FuncType (TCons ((Nothing,Nothing,"Meta","Seq")) [TVar 0]) (TCons ((Nothing,Nothing,"Meta","Seq")) [TVar 0]))) (Rule [(Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),1),(Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),"Meta","Nil")) []) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0])),"Meta","Continued")) [Var ((Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),2))]),Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]))),"Meta","Cons")) [(Just (TVar 0),3),(Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),4)]) (Comb ConsCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]))),"Meta","Cons")) [Var ((Just (TVar 0),3)),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]))),"Meta","interleave")) [Var ((Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),2)),Var ((Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),4))]]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0])),"Meta","Continued")) [(Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),5)]) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),"Meta","Nil")) []) (Var ((Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),1))),Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]))),"Meta","Cons")) [(Just (TVar 0),6),(Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),7)]) (Comb ConsCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]))),"Meta","Cons")) [Var ((Just (TVar 0),6)),Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]))),"Meta","interleave")) [Var ((Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),5)),Var ((Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),7))]]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0])),"Meta","Continued")) [(Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),8)]) (Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0])),"Meta","Continued")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]))),"Meta","interleave")) [Var ((Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),5)),Var ((Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),8))]])])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]) (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0])),"Meta","seq")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","SearchTree")) [TVar 0]) (TCons ((Nothing,Nothing,"Meta","Seq")) [TVar 0])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]),"Prelude","Fail")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),"Meta","Nil")) []),Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0])),"Prelude","Value")) [(Just (TVar 0),2)]) (Comb ConsCall ((Nothing,Just (FuncType (TVar 0) (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]))),"Meta","Cons")) [Var ((Just (TVar 0),2)),Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),"Meta","Nil")) []]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0])),"Prelude","Choice")) [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]),3)]) (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]))) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]]) (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]))),"Prelude","foldr1")) [Comb (FuncPartCall 2) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]))),"Meta","interleave")) [],Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]]))),"Prelude",":")) [Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),"Meta","Nil")) [],Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]) (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]]))),"Prelude","map")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]) (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0])),"Meta","seq")) [],Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","Bool") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]))),"Prelude","filter")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","Bool") [])),"Meta","isValOrChoice")) [],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]),3))]]]]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]),"Prelude","Suspend")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]),"Meta","Nil")) [])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","Bool") [])),"Meta","isValOrChoice")) 1 Private (FuncType (TCons ((Nothing,Nothing,"Prelude","SearchTree")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","Bool")) [])) (Rule [(Just (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]),"Prelude","Fail")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []),Branch (Pattern ((Nothing,Just (FuncType (TVar 0) (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0])),"Prelude","Value")) [(Just (TVar 0),2)]) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]) (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0])),"Prelude","Choice")) [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]]),3)]) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]),"Prelude","Suspend")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) [])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])),"Meta","allValuesI")) 0 Public (FuncType (TCons ((Nothing,Nothing,"Prelude","SearchTree")) [TVar 0]) (TCons ((Nothing,Nothing,"Prelude","[]")) [TVar 0])) (Rule [] (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])) (FuncType (FuncType (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]) (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0])) (FuncType (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])))),"Prelude",".")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0]) (TCons (Nothing,Nothing,"Prelude","[]") [TVar 0])),"Meta","list")) [],Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","SearchTree") [TVar 0]) (TCons (Nothing,Nothing,"Meta","Seq") [TVar 0])),"Meta","seq")) []]))] []