Prog "Array" ["Integer","Prelude"] [Type ("Array","Array") Public [0] [Cons ("Array","Array") 2 Private [FuncType (TCons ("Prelude","Int") []) (TVar 0),TCons ("Array","Entry") [TVar 0]]],Type ("Array","Entry") Private [0] [Cons ("Array","Entry") 3 Private [TVar 0,TCons ("Array","Entry") [TVar 0],TCons ("Array","Entry") [TVar 0]],Cons ("Array","Empty") 0 Private []]] [Func ("Array","emptyErrorArray") 0 Public (TCons ("Array","Array") [TVar 0]) (Rule [] (Comb FuncCall ("Array","emptyDefaultArray") [Comb (FuncPartCall 1) ("Array","errorArray") []])),Func ("Array","errorArray") 1 Private (FuncType (TCons ("Prelude","Int") []) (TVar 0)) (Rule [1] (Comb FuncCall ("Prelude","error") [Comb FuncCall ("Prelude","++") [Comb ConsCall ("Prelude",":") [Lit (Charc 'A'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'a'),Comb ConsCall ("Prelude",":") [Lit (Charc 'y'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'x'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]],Comb FuncCall ("Prelude","++") [Comb FuncCall ("Prelude","show") [Var 1],Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),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 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc 'd'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]]]])),Func ("Array","emptyDefaultArray") 1 Public (FuncType (FuncType (TCons ("Prelude","Int") []) (TVar 0)) (TCons ("Array","Array") [TVar 0])) (Rule [1] (Comb ConsCall ("Array","Array") [Var 1,Comb ConsCall ("Array","Empty") []])),Func ("Array","//") 2 Public (FuncType (TCons ("Array","Array") [TVar 0]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TVar 0]]) (TCons ("Array","Array") [TVar 0]))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("Array","Array") [3,4]) (Comb ConsCall ("Array","Array") [Var 3,Comb FuncCall ("Prelude","foldr") [Comb (FuncPartCall 2) ("Array","//._#lambda2") [Var 3],Var 4,Var 2]])])),Func ("Array","//._#lambda2") 3 Private (FuncType (FuncType (TCons ("Prelude","Int") []) (TVar 72)) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TVar 72]) (FuncType (TCons ("Array","Entry") [TVar 72]) (TCons ("Array","Entry") [TVar 72])))) (Rule [1,2,3] (Case Flex (Var 2) [Branch (Pattern ("Prelude","(,)") [4,5]) (Comb FuncCall ("Array","at") [Comb FuncCall ("Prelude","apply") [Var 1,Var 4],Var 3,Var 4,Comb (FuncPartCall 1) ("Prelude","const") [Var 5]])])),Func ("Array","update") 3 Public (FuncType (TCons ("Array","Array") [TVar 0]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TVar 0) (TCons ("Array","Array") [TVar 0])))) (Rule [1,2,3] (Case Flex (Var 1) [Branch (Pattern ("Array","Array") [4,5]) (Comb ConsCall ("Array","Array") [Var 4,Comb FuncCall ("Array","at") [Comb FuncCall ("Prelude","apply") [Var 4,Var 2],Var 5,Var 2,Comb (FuncPartCall 1) ("Prelude","const") [Var 3]]])])),Func ("Array","applyAt") 3 Public (FuncType (TCons ("Array","Array") [TVar 0]) (FuncType (TCons ("Prelude","Int") []) (FuncType (FuncType (TVar 0) (TVar 0)) (TCons ("Array","Array") [TVar 0])))) (Rule [1,2,3] (Case Flex (Var 1) [Branch (Pattern ("Array","Array") [4,5]) (Comb ConsCall ("Array","Array") [Var 4,Comb FuncCall ("Array","at") [Comb FuncCall ("Prelude","apply") [Var 4,Var 2],Var 5,Var 2,Var 3]])])),Func ("Array","at") 4 Private (FuncType (TVar 0) (FuncType (TCons ("Array","Entry") [TVar 0]) (FuncType (TCons ("Prelude","Int") []) (FuncType (FuncType (TVar 0) (TVar 0)) (TCons ("Array","Entry") [TVar 0]))))) (Rule [1,2,3,4] (Case Flex (Var 2) [Branch (Pattern ("Array","Empty") []) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 3,Lit (Intc 0)]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Array","Entry") [Comb FuncCall ("Prelude","apply") [Var 4,Var 1],Comb ConsCall ("Array","Empty") [],Comb ConsCall ("Array","Empty") []]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Integer","odd") [Var 3]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Array","Entry") [Var 1,Comb FuncCall ("Array","at") [Var 1,Comb ConsCall ("Array","Empty") [],Comb FuncCall ("Prelude","div") [Var 3,Lit (Intc 2)],Var 4],Comb ConsCall ("Array","Empty") []]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Array","Entry") [Var 1,Comb ConsCall ("Array","Empty") [],Comb FuncCall ("Array","at") [Var 1,Comb ConsCall ("Array","Empty") [],Comb FuncCall ("Prelude","-") [Comb FuncCall ("Prelude","div") [Var 3,Lit (Intc 2)],Lit (Intc 1)],Var 4]]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])]),Branch (Pattern ("Array","Entry") [5,6,7]) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 3,Lit (Intc 0)]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Array","Entry") [Comb FuncCall ("Prelude","apply") [Var 4,Var 5],Var 6,Var 7]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Integer","odd") [Var 3]) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Array","Entry") [Var 5,Comb FuncCall ("Array","at") [Var 1,Var 6,Comb FuncCall ("Prelude","div") [Var 3,Lit (Intc 2)],Var 4],Var 7]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb ConsCall ("Array","Entry") [Var 5,Var 6,Comb FuncCall ("Array","at") [Var 1,Var 7,Comb FuncCall ("Prelude","-") [Comb FuncCall ("Prelude","div") [Var 3,Lit (Intc 2)],Lit (Intc 1)],Var 4]]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])])])),Func ("Array","!") 2 Public (FuncType (TCons ("Array","Array") [TVar 0]) (FuncType (TCons ("Prelude","Int") []) (TVar 0))) (Rule [1,2] (Case Flex (Var 1) [Branch (Pattern ("Array","Array") [3,4]) (Comb FuncCall ("Array","from") [Comb FuncCall ("Prelude","apply") [Var 3,Var 2],Var 4,Var 2])])),Func ("Array","from") 3 Private (FuncType (TVar 0) (FuncType (TCons ("Array","Entry") [TVar 0]) (FuncType (TCons ("Prelude","Int") []) (TVar 0)))) (Rule [1,2,3] (Case Flex (Var 2) [Branch (Pattern ("Array","Empty") []) (Var 1),Branch (Pattern ("Array","Entry") [4,5,6]) (Case Rigid (Comb FuncCall ("Prelude","==") [Var 3,Lit (Intc 0)]) [Branch (Pattern ("Prelude","True") []) (Var 4),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Integer","odd") [Var 3]) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Array","from") [Var 1,Var 5,Comb FuncCall ("Prelude","div") [Var 3,Lit (Intc 2)]]),Branch (Pattern ("Prelude","False") []) (Case Rigid (Comb FuncCall ("Prelude","otherwise") []) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("Array","from") [Var 1,Var 6,Comb FuncCall ("Prelude","-") [Comb FuncCall ("Prelude","div") [Var 3,Lit (Intc 2)],Lit (Intc 1)]]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("Prelude","failed") [])])])])])),Func ("Array","split") 1 Private (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 0],TCons ("Prelude","[]") [TVar 0]])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude","[]") [],Comb ConsCall ("Prelude","[]") []]),Branch (Pattern ("Prelude",":") [2,3]) (Case Flex (Var 3) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude","[]") []],Comb ConsCall ("Prelude","[]") []]),Branch (Pattern ("Prelude",":") [4,5]) (Let [(6,Comb FuncCall ("Array","split") [Var 5])] (Let [(7,Comb FuncCall ("Array","split._#selFP3#xs") [Var 6])] (Let [(8,Comb FuncCall ("Array","split._#selFP4#ys") [Var 6])] (Comb ConsCall ("Prelude","(,)") [Comb ConsCall ("Prelude",":") [Var 2,Var 7],Comb ConsCall ("Prelude",":") [Var 4,Var 8]]))))])])),Func ("Array","split._#selFP3#xs") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 126],TCons ("Prelude","[]") [TVar 126]]) (TCons ("Prelude","[]") [TVar 126])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("Array","split._#selFP4#ys") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 126],TCons ("Prelude","[]") [TVar 126]]) (TCons ("Prelude","[]") [TVar 126])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("Array","listToDefaultArray") 1 Public (FuncType (FuncType (TCons ("Prelude","Int") []) (TVar 0)) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Array","Array") [TVar 0]))) (Rule [1] (Comb FuncCall ("Prelude",".") [Comb (ConsPartCall 1) ("Array","Array") [Var 1],Comb (FuncPartCall 1) ("Array","listToArray") []])),Func ("Array","listToErrorArray") 0 Public (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Array","Array") [TVar 0])) (Rule [] (Comb FuncCall ("Array","listToDefaultArray") [Comb (FuncPartCall 1) ("Array","errorArray") []])),Func ("Array","listToArray") 1 Private (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Array","Entry") [TVar 0])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","[]") []) (Comb ConsCall ("Array","Empty") []),Branch (Pattern ("Prelude",":") [2,3]) (Let [(4,Comb FuncCall ("Array","split") [Var 3])] (Let [(5,Comb FuncCall ("Array","listToArray._#selFP6#ys") [Var 4])] (Let [(6,Comb FuncCall ("Array","listToArray._#selFP7#zs") [Var 4])] (Comb ConsCall ("Array","Entry") [Var 2,Comb FuncCall ("Array","listToArray") [Var 5],Comb FuncCall ("Array","listToArray") [Var 6]]))))])),Func ("Array","listToArray._#selFP6#ys") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 137],TCons ("Prelude","[]") [TVar 137]]) (TCons ("Prelude","[]") [TVar 137])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 2)])),Func ("Array","listToArray._#selFP7#zs") 1 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 137],TCons ("Prelude","[]") [TVar 137]]) (TCons ("Prelude","[]") [TVar 137])) (Rule [1] (Case Flex (Var 1) [Branch (Pattern ("Prelude","(,)") [2,3]) (Var 3)])),Func ("Array","combine") 3 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2))) (FuncType (TCons ("Array","Array") [TVar 0]) (FuncType (TCons ("Array","Array") [TVar 1]) (TCons ("Array","Array") [TVar 2])))) (Rule [1,2,3] (Case Flex (Var 2) [Branch (Pattern ("Array","Array") [4,5]) (Case Flex (Var 3) [Branch (Pattern ("Array","Array") [6,7]) (Comb ConsCall ("Array","Array") [Comb (FuncPartCall 1) ("Array","combine._#lambda3") [Var 4,Var 6,Var 1],Comb FuncCall ("Array","comb") [Var 1,Var 4,Var 6,Var 5,Var 7,Lit (Intc 0),Lit (Intc 1)]])])])),Func ("Array","combine._#lambda3") 4 Private (FuncType (FuncType (TCons ("Prelude","Int") []) (TVar 252)) (FuncType (FuncType (TCons ("Prelude","Int") []) (TVar 255)) (FuncType (FuncType (TVar 252) (FuncType (TVar 255) (TVar 263))) (FuncType (TCons ("Prelude","Int") []) (TVar 263))))) (Rule [1,2,3,4] (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 3,Comb FuncCall ("Prelude","apply") [Var 1,Var 4]],Comb FuncCall ("Prelude","apply") [Var 2,Var 4]])),Func ("Array","comb") 7 Private (FuncType (FuncType (TVar 0) (FuncType (TVar 1) (TVar 2))) (FuncType (FuncType (TCons ("Prelude","Int") []) (TVar 0)) (FuncType (FuncType (TCons ("Prelude","Int") []) (TVar 1)) (FuncType (TCons ("Array","Entry") [TVar 0]) (FuncType (TCons ("Array","Entry") [TVar 1]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Array","Entry") [TVar 2])))))))) (Rule [1,2,3,4,5,6,7] (Case Flex (Var 4) [Branch (Pattern ("Array","Empty") []) (Case Flex (Var 5) [Branch (Pattern ("Array","Empty") []) (Comb ConsCall ("Array","Empty") []),Branch (Pattern ("Array","Entry") [8,9,10]) (Comb ConsCall ("Array","Entry") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Comb FuncCall ("Prelude","apply") [Var 2,Comb FuncCall ("Prelude","-") [Comb FuncCall ("Prelude","+") [Var 6,Var 7],Lit (Intc 1)]]],Var 8],Comb FuncCall ("Array","comb") [Var 1,Var 2,Var 3,Comb ConsCall ("Array","Empty") [],Var 9,Comb FuncCall ("Prelude","*") [Lit (Intc 2),Var 6],Var 7],Comb FuncCall ("Array","comb") [Var 1,Var 2,Var 3,Comb ConsCall ("Array","Empty") [],Var 10,Comb FuncCall ("Prelude","*") [Lit (Intc 2),Var 6],Comb FuncCall ("Prelude","+") [Var 7,Var 6]]])]),Branch (Pattern ("Array","Entry") [11,12,13]) (Case Flex (Var 5) [Branch (Pattern ("Array","Empty") []) (Comb ConsCall ("Array","Entry") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 11],Comb FuncCall ("Prelude","apply") [Var 3,Comb FuncCall ("Prelude","-") [Comb FuncCall ("Prelude","+") [Var 6,Var 7],Lit (Intc 1)]]],Comb FuncCall ("Array","comb") [Var 1,Var 2,Var 3,Var 12,Comb ConsCall ("Array","Empty") [],Comb FuncCall ("Prelude","*") [Lit (Intc 2),Var 6],Var 7],Comb FuncCall ("Array","comb") [Var 1,Var 2,Var 3,Var 13,Comb ConsCall ("Array","Empty") [],Comb FuncCall ("Prelude","*") [Lit (Intc 2),Var 6],Comb FuncCall ("Prelude","+") [Var 7,Var 6]]]),Branch (Pattern ("Array","Entry") [14,15,16]) (Comb ConsCall ("Array","Entry") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 11],Var 14],Comb FuncCall ("Array","comb") [Var 1,Var 2,Var 3,Var 12,Var 15,Comb FuncCall ("Prelude","*") [Lit (Intc 2),Var 6],Var 7],Comb FuncCall ("Array","comb") [Var 1,Var 2,Var 3,Var 13,Var 16,Comb FuncCall ("Prelude","*") [Lit (Intc 2),Var 6],Comb FuncCall ("Prelude","+") [Var 7,Var 6]]])])])),Func ("Array","combineSimilar") 3 Public (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0))) (FuncType (TCons ("Array","Array") [TVar 0]) (FuncType (TCons ("Array","Array") [TVar 0]) (TCons ("Array","Array") [TVar 0])))) (Rule [1,2,3] (Case Flex (Var 2) [Branch (Pattern ("Array","Array") [4,5]) (Case Flex (Var 3) [Branch (Pattern ("Array","Array") [6,7]) (Comb ConsCall ("Array","Array") [Var 4,Comb FuncCall ("Array","combSim") [Var 1,Var 5,Var 7]])])])),Func ("Array","combSim") 3 Private (FuncType (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0))) (FuncType (TCons ("Array","Entry") [TVar 0]) (FuncType (TCons ("Array","Entry") [TVar 0]) (TCons ("Array","Entry") [TVar 0])))) (Rule [1,2,3] (Case Flex (Var 2) [Branch (Pattern ("Array","Empty") []) (Var 3),Branch (Pattern ("Array","Entry") [4,5,6]) (Case Flex (Var 3) [Branch (Pattern ("Array","Empty") []) (Var 2),Branch (Pattern ("Array","Entry") [7,8,9]) (Comb ConsCall ("Array","Entry") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 1,Var 4],Var 7],Comb FuncCall ("Array","combSim") [Var 1,Var 5,Var 8],Comb FuncCall ("Array","combSim") [Var 1,Var 6,Var 9]])])])),Func ("Array","foldArray") 3 Public (FuncType (TVar 0) (FuncType (FuncType (TVar 1) (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0)))) (FuncType (TCons ("Array","Array") [TVar 1]) (TVar 0)))) (Rule [1,2,3] (Case Flex (Var 3) [Branch (Pattern ("Array","Array") [4,5]) (Comb FuncCall ("Array","foldEntries") [Var 1,Var 2,Var 5])])),Func ("Array","foldEntries") 3 Private (FuncType (TVar 0) (FuncType (FuncType (TVar 1) (FuncType (TVar 0) (FuncType (TVar 0) (TVar 0)))) (FuncType (TCons ("Array","Entry") [TVar 1]) (TVar 0)))) (Rule [1,2,3] (Case Flex (Var 3) [Branch (Pattern ("Array","Empty") []) (Var 1),Branch (Pattern ("Array","Entry") [4,5,6]) (Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Comb FuncCall ("Prelude","apply") [Var 2,Var 4],Comb FuncCall ("Array","foldEntries") [Var 1,Var 2,Var 5]],Comb FuncCall ("Array","foldEntries") [Var 1,Var 2,Var 6]])])),Func ("Array","arrayToList") 0 Public (FuncType (TCons ("Array","Array") [TVar 0]) (TCons ("Prelude","[]") [TVar 0])) (Rule [] (Comb (FuncPartCall 1) ("Array","foldArray") [Comb ConsCall ("Prelude","[]") [],Comb (FuncPartCall 3) ("Array","arrayToList._#lambda4") []])),Func ("Array","arrayToList._#lambda4") 3 Private (FuncType (TVar 345) (FuncType (TCons ("Prelude","[]") [TVar 345]) (FuncType (TCons ("Prelude","[]") [TVar 345]) (TCons ("Prelude","[]") [TVar 345])))) (Rule [1,2,3] (Comb ConsCall ("Prelude",":") [Var 1,Comb FuncCall ("Prelude","++") [Var 2,Var 3]]))] [Op ("Array","!") InfixlOp 9,Op ("Array","//") InfixlOp 9]