Module "EasyCheck" (Just (Exporting (11,18) [(Export (QualIdent Nothing (Ident "Prop" 0))),(Export (QualIdent Nothing (Ident "==>" 0))),(Export (QualIdent Nothing (Ident "for" 0))),(Export (QualIdent Nothing (Ident "forValues" 0))),(Export (QualIdent Nothing (Ident "test" 0))),(Export (QualIdent Nothing (Ident "is" 0))),(Export (QualIdent Nothing (Ident "isAlways" 0))),(Export (QualIdent Nothing (Ident "isEventually" 0))),(Export (QualIdent Nothing (Ident "prop" 0))),(Export (QualIdent Nothing (Ident "uniquely" 0))),(Export (QualIdent Nothing (Ident "always" 0))),(Export (QualIdent Nothing (Ident "eventually" 0))),(Export (QualIdent Nothing (Ident "failing" 0))),(Export (QualIdent Nothing (Ident "successful" 0))),(Export (QualIdent Nothing (Ident "deterministic" 0))),(Export (QualIdent Nothing (Ident "-=-" 0))),(Export (QualIdent Nothing (Ident "#" 0))),(Export (QualIdent Nothing (Ident "<~>" 0))),(Export (QualIdent Nothing (Ident "~>" 0))),(Export (QualIdent Nothing (Ident "<~" 0))),(Export (QualIdent Nothing (Ident "isSameSet" 0))),(Export (QualIdent Nothing (Ident "isSubsetOf" 0))),(Export (QualIdent Nothing (Ident "label" 0))),(Export (QualIdent Nothing (Ident "trivial" 0))),(Export (QualIdent Nothing (Ident "classify" 0))),(Export (QualIdent Nothing (Ident "collect" 0))),(Export (QualIdent Nothing (Ident "collectAs" 0))),(Export (QualIdent Nothing (Ident "easyCheck" 0))),(Export (QualIdent Nothing (Ident "easyCheck1" 0))),(Export (QualIdent Nothing (Ident "easyCheck2" 0))),(Export (QualIdent Nothing (Ident "easyCheck3" 0))),(Export (QualIdent Nothing (Ident "easyCheck4" 0))),(Export (QualIdent Nothing (Ident "easyCheck5" 0))),(Export (QualIdent Nothing (Ident "verboseCheck" 0))),(Export (QualIdent Nothing (Ident "verboseCheck1" 0))),(Export (QualIdent Nothing (Ident "verboseCheck2" 0))),(Export (QualIdent Nothing (Ident "verboseCheck3" 0))),(Export (QualIdent Nothing (Ident "verboseCheck4" 0))),(Export (QualIdent Nothing (Ident "verboseCheck5" 0))),(Export (QualIdent Nothing (Ident "valuesOf" 0))),(ExportTypeAll (QualIdent Nothing (Ident "Result" 0))),(Export (QualIdent Nothing (Ident "result" 0))),(Export (QualIdent Nothing (Ident "diagonal" 0)))])) [(ImportDecl (1,1) "Prelude" False Nothing Nothing) ,(ImportDecl (37,1) "List" False Nothing (Just (Importing (37,25) [(Import (Ident "nub" 0)),(Import (Ident "group" 0)),(Import (Ident "intersperse" 0)),(Import (Ident "\\\\" 0))]))) ,(ImportDecl (38,1) "Sort" False Nothing (Just (Importing (38,25) [(Import (Ident "leqList" 0)),(Import (Ident "leqString" 0)),(Import (Ident "mergeSort" 0))]))) ,(ImportDecl (39,1) "Meta" False Nothing (Just (Importing (39,25) [(Import (Ident "searchTree" 0))]))) ,(ImportDecl (40,1) "Integer" False Nothing (Just (Importing (40,25) [(Import (Ident "abs" 0))]))) ,(ImportDecl (41,1) "Read" False Nothing (Just (Importing (41,25) [(Import (Ident "readNat" 0))]))) ,(ImportDecl (42,1) "RandomExternal" False Nothing (Just (Importing (42,25) [(Import (Ident "split" 0)),(Import (Ident "nextInt" 0))]))) ,(DataDecl (49,1) (Ident "Test" 0) [] [(ConstrDecl (49,13) [] (Ident "Test" 0) [(ConstructorType (QualIdent Nothing (Ident "Result" 0)) []),(ListType (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])),(ListType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))])]) ,(DataDecl (51,1) (Ident "Result" 0) [] [(ConstrDecl (51,15) [] (Ident "Undef" 0) []),(ConstrDecl (51,23) [] (Ident "Ok" 0) []),(ConstrDecl (51,28) [] (Ident "Falsified" 0) [(ListType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))]),(ConstrDecl (51,49) [] (Ident "Ambigious" 0) [(ListType (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) [])),(ListType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))])]) ,(TypeDecl (53,1) (Ident "Prop" 0) [] (ListType (ConstructorType (QualIdent Nothing (Ident "Test" 0)) []))) ,(DataDecl (169,1) (Ident "Config" 0) [] [(ConstrDecl (169,15) [] (Ident "Config" 0) [(ConstructorType (QualIdent Nothing (Ident "Int" 0)) []),(ConstructorType (QualIdent Nothing (Ident "Int" 0)) []),(ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))])]) ,(InfixDecl (44,1) Infix 4 [(Ident "isSameSet" 0),(Ident "isSubsetOf" 0)]) ,(InfixDecl (45,1) Infix 1 [(Ident "is" 0),(Ident "isAlways" 0),(Ident "isEventually" 0),(Ident "-=-" 0),(Ident "#" 0),(Ident "<~>" 0),(Ident "~>" 0),(Ident "<~" 0),(Ident "trivial" 0)]) ,(InfixDecl (46,1) InfixR 0 [(Ident "==>" 0)]) ,(TypeSig (55,1) [(Ident "notest" 0)] (ConstructorType (QualIdent Nothing (Ident "Test" 0)) [])) ,(FunctionDecl (56,1) (Ident "notest" 0) [(Equation (56,1) (FunLhs (Ident "notest" 0) []) (SimpleRhs (56,10) (Apply (Apply (Apply (Constructor (QualIdent (Just "EasyCheck") (Ident "Test" 0))) (Constructor (QualIdent (Just "EasyCheck") (Ident "Undef" 0)))) (List [])) (List [])) []))]) ,(TypeSig (58,1) [(Ident "result" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Test" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Result" 0)) []))) ,(FunctionDecl (59,1) (Ident "result" 0) [(Equation (59,1) (FunLhs (Ident "result" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "EasyCheck") (Ident "Test" 0)) [(VariablePattern (Ident "r" 4)),(VariablePattern (Ident "_" 5)),(VariablePattern (Ident "_" 6))]))]) (SimpleRhs (59,23) (Variable (QualIdent Nothing (Ident "r" 4))) []))]) ,(TypeSig (61,1) [(Ident "setResult" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Result" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Test" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Test" 0)) [])))) ,(FunctionDecl (62,1) (Ident "setResult" 0) [(Equation (62,1) (FunLhs (Ident "setResult" 0) [(VariablePattern (Ident "res" 8)),(ParenPattern (ConstructorPattern (QualIdent (Just "EasyCheck") (Ident "Test" 0)) [(VariablePattern (Ident "_" 9)),(VariablePattern (Ident "s" 8)),(VariablePattern (Ident "a" 8))]))]) (SimpleRhs (62,30) (Apply (Apply (Apply (Constructor (QualIdent (Just "EasyCheck") (Ident "Test" 0))) (Variable (QualIdent Nothing (Ident "res" 8)))) (Variable (QualIdent Nothing (Ident "a" 8)))) (Variable (QualIdent Nothing (Ident "s" 8)))) []))]) ,(TypeSig (64,1) [(Ident "args" 0),(Ident "stamp" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Test" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))) ,(FunctionDecl (65,1) (Ident "args" 0) [(Equation (65,1) (FunLhs (Ident "args" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "EasyCheck") (Ident "Test" 0)) [(VariablePattern (Ident "_" 12)),(VariablePattern (Ident "a" 11)),(VariablePattern (Ident "_" 13))]))]) (SimpleRhs (65,22) (Variable (QualIdent Nothing (Ident "a" 11))) []))]) ,(FunctionDecl (66,1) (Ident "stamp" 0) [(Equation (66,1) (FunLhs (Ident "stamp" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "EasyCheck") (Ident "Test" 0)) [(VariablePattern (Ident "_" 16)),(VariablePattern (Ident "_" 17)),(VariablePattern (Ident "s" 15))]))]) (SimpleRhs (66,22) (Variable (QualIdent Nothing (Ident "s" 15))) []))]) ,(TypeSig (68,1) [(Ident "updArgs" 0),(Ident "updStamp" 0)] (ArrowType (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])) (ListType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Test" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Test" 0)) [])))) ,(FunctionDecl (69,1) (Ident "updArgs" 0) [(Equation (69,1) (FunLhs (Ident "updArgs" 0) [(VariablePattern (Ident "upd" 19)),(ParenPattern (ConstructorPattern (QualIdent (Just "EasyCheck") (Ident "Test" 0)) [(VariablePattern (Ident "r" 19)),(VariablePattern (Ident "a" 19)),(VariablePattern (Ident "s" 19))]))]) (SimpleRhs (69,29) (Apply (Apply (Apply (Constructor (QualIdent (Just "EasyCheck") (Ident "Test" 0))) (Variable (QualIdent Nothing (Ident "r" 19)))) (Paren (Apply (Variable (QualIdent Nothing (Ident "upd" 19))) (Variable (QualIdent Nothing (Ident "a" 19)))))) (Variable (QualIdent Nothing (Ident "s" 19)))) []))]) ,(FunctionDecl (70,1) (Ident "updStamp" 0) [(Equation (70,1) (FunLhs (Ident "updStamp" 0) [(VariablePattern (Ident "upd" 21)),(ParenPattern (ConstructorPattern (QualIdent (Just "EasyCheck") (Ident "Test" 0)) [(VariablePattern (Ident "r" 21)),(VariablePattern (Ident "a" 21)),(VariablePattern (Ident "s" 21))]))]) (SimpleRhs (70,29) (Apply (Apply (Apply (Constructor (QualIdent (Just "EasyCheck") (Ident "Test" 0))) (Variable (QualIdent Nothing (Ident "r" 21)))) (Variable (QualIdent Nothing (Ident "a" 21)))) (Paren (Apply (Variable (QualIdent Nothing (Ident "upd" 21))) (Variable (QualIdent Nothing (Ident "s" 21)))))) []))]) ,(TypeSig (75,1) [(Ident "test" 0)] (ArrowType (VariableType (Ident "a" 0)) (ArrowType (ArrowType (ListType (VariableType (Ident "a" 0))) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) [])) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) [])))) ,(FunctionDecl (76,1) (Ident "test" 0) [(Equation (76,1) (FunLhs (Ident "test" 0) [(VariablePattern (Ident "x" 23)),(VariablePattern (Ident "f" 23))]) (SimpleRhs (76,12) (List [(Apply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "setResult" 0))) (Variable (QualIdent Nothing (Ident "res" 24)))) (Variable (QualIdent (Just "EasyCheck") (Ident "notest" 0))))]) [(PatternDecl (78,3) (VariablePattern (Ident "xs" 24)) (SimpleRhs (78,9) (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "valuesOf" 0))) (Variable (QualIdent Nothing (Ident "x" 23)))) [])),(PatternDecl (79,3) (VariablePattern (Ident "res" 24)) (SimpleRhs (79,9) (Case (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "valuesOf" 0))) (Paren (Apply (Variable (QualIdent Nothing (Ident "f" 23))) (Variable (QualIdent Nothing (Ident "xs" 24)))))) [(Alt (80,11) (ListPattern [(ConstructorPattern (QualIdent (Just "Prelude") (Ident "True" 0)) [])]) (SimpleRhs (80,22) (Constructor (QualIdent (Just "EasyCheck") (Ident "Ok" 0))) [])),(Alt (81,11) (ListPattern [(ConstructorPattern (QualIdent (Just "Prelude") (Ident "False" 0)) [])]) (SimpleRhs (81,22) (Apply (Constructor (QualIdent (Just "EasyCheck") (Ident "Falsified" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent (Just "Prelude") (Ident "show" 0)))) (Variable (QualIdent Nothing (Ident "xs" 24)))))) [])),(Alt (82,11) (VariablePattern (Ident "bs" 31)) (SimpleRhs (82,22) (Apply (Apply (Constructor (QualIdent (Just "EasyCheck") (Ident "Ambigious" 0))) (Variable (QualIdent Nothing (Ident "bs" 31)))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent (Just "Prelude") (Ident "show" 0)))) (Variable (QualIdent Nothing (Ident "xs" 24)))))) []))]) []))]))]) ,(TypeSig (86,1) [(Ident "is" 0),(Ident "isAlways" 0),(Ident "isEventually" 0)] (ArrowType (VariableType (Ident "a" 0)) (ArrowType (ArrowType (VariableType (Ident "a" 0)) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) [])) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) [])))) ,(FunctionDecl (87,1) (Ident "is" 0) [(Equation (87,1) (FunLhs (Ident "is" 0) [(VariablePattern (Ident "x" 33)),(VariablePattern (Ident "f" 33))]) (SimpleRhs (87,10) (Apply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "test" 0))) (Variable (QualIdent Nothing (Ident "x" 33)))) (Paren (Lambda [(VariablePattern (Ident "xs" 35))] (Case (Variable (QualIdent Nothing (Ident "xs" 35))) [(Alt (87,36) (ListPattern [(VariablePattern (Ident "y" 36))]) (SimpleRhs (87,43) (Apply (Variable (QualIdent Nothing (Ident "f" 33))) (Variable (QualIdent Nothing (Ident "y" 36)))) [])),(Alt (87,48) (VariablePattern (Ident "_" 39)) (SimpleRhs (87,53) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) []))])))) []))]) ,(FunctionDecl (88,1) (Ident "isAlways" 0) [(Equation (88,1) (FunLhs (Ident "isAlways" 0) [(VariablePattern (Ident "x" 41))]) (SimpleRhs (88,15) (InfixApply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "test" 0))) (Variable (QualIdent Nothing (Ident "x" 41)))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "Prelude") (Ident "all" 0)))) []))]) ,(FunctionDecl (89,1) (Ident "isEventually" 0) [(Equation (89,1) (FunLhs (Ident "isEventually" 0) [(VariablePattern (Ident "x" 43))]) (SimpleRhs (89,18) (InfixApply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "test" 0))) (Variable (QualIdent Nothing (Ident "x" 43)))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "Prelude") (Ident "any" 0)))) []))]) ,(TypeSig (92,1) [(Ident "prop" 0),(Ident "uniquely" 0),(Ident "always" 0),(Ident "eventually" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) []))) ,(FunctionDecl (93,1) (Ident "prop" 0) [(Equation (93,1) (FunLhs (Ident "prop" 0) []) (SimpleRhs (93,14) (Variable (QualIdent (Just "EasyCheck") (Ident "uniquely" 0))) []))]) ,(FunctionDecl (94,1) (Ident "uniquely" 0) [(Equation (94,1) (FunLhs (Ident "uniquely" 0) []) (SimpleRhs (94,14) (RightSection (InfixOp (QualIdent (Just "EasyCheck") (Ident "is" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(FunctionDecl (95,1) (Ident "always" 0) [(Equation (95,1) (FunLhs (Ident "always" 0) []) (SimpleRhs (95,14) (RightSection (InfixOp (QualIdent (Just "EasyCheck") (Ident "isAlways" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(FunctionDecl (96,1) (Ident "eventually" 0) [(Equation (96,1) (FunLhs (Ident "eventually" 0) []) (SimpleRhs (96,14) (RightSection (InfixOp (QualIdent (Just "EasyCheck") (Ident "isEventually" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (99,1) [(Ident "failing" 0),(Ident "successful" 0),(Ident "deterministic" 0)] (ArrowType (VariableType (Ident "_" 0)) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) []))) ,(FunctionDecl (100,1) (Ident "failing" 0) [(Equation (100,1) (FunLhs (Ident "failing" 0) [(VariablePattern (Ident "x" 53))]) (SimpleRhs (100,13) (Apply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "test" 0))) (Variable (QualIdent Nothing (Ident "x" 53)))) (Variable (QualIdent (Just "Prelude") (Ident "null" 0)))) []))]) ,(FunctionDecl (101,1) (Ident "successful" 0) [(Equation (101,1) (FunLhs (Ident "successful" 0) [(VariablePattern (Ident "x" 55))]) (SimpleRhs (101,16) (Apply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "test" 0))) (Variable (QualIdent Nothing (Ident "x" 55)))) (Paren (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "not" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "Prelude") (Ident "null" 0)))))) []))]) ,(FunctionDecl (102,1) (Ident "deterministic" 0) [(Equation (102,1) (FunLhs (Ident "deterministic" 0) [(VariablePattern (Ident "x" 57))]) (SimpleRhs (102,19) (InfixApply (Variable (QualIdent Nothing (Ident "x" 57))) (InfixOp (QualIdent (Just "EasyCheck") (Ident "is" 0))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "const" 0))) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0))))) []))]) ,(TypeSig (105,1) [(Ident "#" 0)] (ArrowType (VariableType (Ident "_" 0)) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) [])))) ,(FunctionDecl (106,1) (Ident "#" 0) [(Equation (106,1) (OpLhs (VariablePattern (Ident "x" 59)) (Ident "#" 0) (VariablePattern (Ident "n" 59))) (SimpleRhs (106,9) (Apply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "test" 0))) (Variable (QualIdent Nothing (Ident "x" 59)))) (Paren (InfixApply (LeftSection (Variable (QualIdent Nothing (Ident "n" 59))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0)))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "length" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "List") (Ident "nub" 0))))))) []))]) ,(TypeSig (110,1) [(Ident "-=-" 0)] (ArrowType (VariableType (Ident "a" 0)) (ArrowType (VariableType (Ident "a" 0)) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) [])))) ,(FunctionDecl (111,1) (Ident "-=-" 0) [(Equation (111,1) (OpLhs (VariablePattern (Ident "x" 61)) (Ident "-=-" 0) (VariablePattern (Ident "y" 61))) (SimpleRhs (111,11) (InfixApply (Tuple [(Variable (QualIdent Nothing (Ident "x" 61))),(Variable (QualIdent Nothing (Ident "y" 61)))]) (InfixOp (QualIdent (Just "EasyCheck") (Ident "is" 0))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "uncurry" 0))) (Variable (QualIdent (Just "Prelude") (Ident "==" 0))))) []))]) ,(TypeSig (114,1) [(Ident "<~>" 0),(Ident "~>" 0),(Ident "<~" 0)] (ArrowType (VariableType (Ident "a" 0)) (ArrowType (VariableType (Ident "a" 0)) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) [])))) ,(FunctionDecl (115,1) (Ident "<~>" 0) [(Equation (115,1) (OpLhs (VariablePattern (Ident "x" 63)) (Ident "<~>" 0) (VariablePattern (Ident "y" 63))) (SimpleRhs (115,11) (Apply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "test" 0))) (Variable (QualIdent Nothing (Ident "x" 63)))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "isSameSet" 0))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "valuesOf" 0))) (Variable (QualIdent Nothing (Ident "y" 63)))))))) []))]) ,(FunctionDecl (116,1) (Ident "~>" 0) [(Equation (116,1) (OpLhs (VariablePattern (Ident "x" 65)) (Ident "~>" 0) (VariablePattern (Ident "y" 65))) (SimpleRhs (116,11) (Apply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "test" 0))) (Variable (QualIdent Nothing (Ident "x" 65)))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "isSubsetOf" 0))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "valuesOf" 0))) (Variable (QualIdent Nothing (Ident "y" 65)))))))) []))]) ,(FunctionDecl (117,1) (Ident "<~" 0) [(Equation (117,1) (OpLhs (VariablePattern (Ident "x" 67)) (Ident "<~" 0) (VariablePattern (Ident "y" 67))) (SimpleRhs (117,11) (Apply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "test" 0))) (Variable (QualIdent Nothing (Ident "x" 67)))) (RightSection (InfixOp (QualIdent (Just "EasyCheck") (Ident "isSubsetOf" 0))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "valuesOf" 0))) (Variable (QualIdent Nothing (Ident "y" 67))))))) []))]) ,(TypeSig (119,1) [(Ident "isSameSet" 0),(Ident "isSubsetOf" 0),(Ident "subset" 0)] (ArrowType (ListType (VariableType (Ident "a" 0))) (ArrowType (ListType (VariableType (Ident "a" 0))) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) [])))) ,(FunctionDecl (120,1) (Ident "isSameSet" 0) [(Equation (120,1) (OpLhs (VariablePattern (Ident "xs" 69)) (Ident "isSameSet" 0) (VariablePattern (Ident "ys" 69))) (SimpleRhs (120,21) (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "xs'" 70))) (InfixOp (QualIdent (Just "EasyCheck") (Ident "subset" 0))) (Variable (QualIdent Nothing (Ident "ys'" 70)))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "ys'" 70))) (InfixOp (QualIdent (Just "EasyCheck") (Ident "subset" 0))) (Variable (QualIdent Nothing (Ident "xs'" 70))))) [(PatternDecl (121,8) (VariablePattern (Ident "xs'" 70)) (SimpleRhs (121,14) (Apply (Variable (QualIdent (Just "List") (Ident "nub" 0))) (Variable (QualIdent Nothing (Ident "xs" 69)))) [])),(PatternDecl (121,22) (VariablePattern (Ident "ys'" 70)) (SimpleRhs (121,28) (Apply (Variable (QualIdent (Just "List") (Ident "nub" 0))) (Variable (QualIdent Nothing (Ident "ys" 69)))) []))]))]) ,(FunctionDecl (122,1) (Ident "isSubsetOf" 0) [(Equation (122,1) (OpLhs (VariablePattern (Ident "xs" 73)) (Ident "isSubsetOf" 0) (VariablePattern (Ident "ys" 73))) (SimpleRhs (122,22) (InfixApply (Apply (Variable (QualIdent (Just "List") (Ident "nub" 0))) (Variable (QualIdent Nothing (Ident "xs" 73)))) (InfixOp (QualIdent (Just "EasyCheck") (Ident "subset" 0))) (Variable (QualIdent Nothing (Ident "ys" 73)))) []))]) ,(FunctionDecl (123,1) (Ident "subset" 0) [(Equation (123,1) (OpLhs (VariablePattern (Ident "xs" 75)) (Ident "subset" 0) (VariablePattern (Ident "ys" 75))) (SimpleRhs (123,18) (Apply (Variable (QualIdent (Just "Prelude") (Ident "null" 0))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "xs" 75))) (InfixOp (QualIdent (Just "List") (Ident "\\\\" 0))) (Variable (QualIdent Nothing (Ident "ys" 75)))))) []))]) ,(TypeSig (126,1) [(Ident "==>" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) [])))) ,(FunctionDecl (127,1) (Ident "==>" 0) [(Equation (127,1) (OpLhs (ConstructorPattern (QualIdent (Just "Prelude") (Ident "True" 0)) []) (Ident "==>" 0) (VariablePattern (Ident "p" 77))) (SimpleRhs (127,15) (Variable (QualIdent Nothing (Ident "p" 77))) [])),(Equation (128,1) (OpLhs (ConstructorPattern (QualIdent (Just "Prelude") (Ident "False" 0)) []) (Ident "==>" 0) (VariablePattern (Ident "_" 80))) (SimpleRhs (128,15) (List [(Variable (QualIdent (Just "EasyCheck") (Ident "notest" 0)))]) []))]) ,(TypeSig (130,1) [(Ident "forAll" 0)] (ArrowType (ArrowType (VariableType (Ident "b" 0)) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) [])) (ArrowType (VariableType (Ident "a" 0)) (ArrowType (ArrowType (VariableType (Ident "a" 0)) (VariableType (Ident "b" 0))) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) []))))) ,(FunctionDecl (131,1) (Ident "forAll" 0) [(Equation (131,1) (FunLhs (Ident "forAll" 0) [(VariablePattern (Ident "c" 82)),(VariablePattern (Ident "x" 82)),(VariablePattern (Ident "f" 82))]) (SimpleRhs (131,16) (Apply (Apply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "forAllValues" 0))) (Variable (QualIdent Nothing (Ident "c" 82)))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "valuesOf" 0))) (Variable (QualIdent Nothing (Ident "x" 82)))))) (Variable (QualIdent Nothing (Ident "f" 82)))) []))]) ,(TypeSig (133,1) [(Ident "forAllValues" 0)] (ArrowType (ArrowType (VariableType (Ident "b" 0)) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) [])) (ArrowType (ListType (VariableType (Ident "a" 0))) (ArrowType (ArrowType (VariableType (Ident "a" 0)) (VariableType (Ident "b" 0))) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) []))))) ,(FunctionDecl (134,1) (Ident "forAllValues" 0) [(Equation (134,1) (FunLhs (Ident "forAllValues" 0) [(VariablePattern (Ident "c" 84)),(VariablePattern (Ident "xs" 84)),(VariablePattern (Ident "f" 84))]) (SimpleRhs (135,5) (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "diagonal" 0))) (ListCompr (ListCompr (Apply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "updArgs" 0))) (LeftSection (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "y" 86)))) (InfixConstr (QualIdent Nothing (Ident ":" 0))))) (Variable (QualIdent Nothing (Ident "t" 87)))) [(StmtBind (VariablePattern (Ident "t" 87)) (Apply (Variable (QualIdent Nothing (Ident "c" 84))) (Paren (Apply (Variable (QualIdent Nothing (Ident "f" 84))) (Variable (QualIdent Nothing (Ident "y" 86)))))))]) [(StmtBind (VariablePattern (Ident "y" 86)) (Variable (QualIdent Nothing (Ident "xs" 84))))])) []))]) ,(TypeSig (138,1) [(Ident "for" 0)] (ArrowType (VariableType (Ident "a" 0)) (ArrowType (ArrowType (VariableType (Ident "a" 0)) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) [])) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) [])))) ,(FunctionDecl (139,1) (Ident "for" 0) [(Equation (139,1) (FunLhs (Ident "for" 0) []) (SimpleRhs (139,7) (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "forAll" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (141,1) [(Ident "forValues" 0)] (ArrowType (ListType (VariableType (Ident "a" 0))) (ArrowType (ArrowType (VariableType (Ident "a" 0)) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) [])) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) [])))) ,(FunctionDecl (142,1) (Ident "forValues" 0) [(Equation (142,1) (FunLhs (Ident "forValues" 0) []) (SimpleRhs (142,13) (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "forAllValues" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) []))]) ,(TypeSig (147,1) [(Ident "label" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) [])))) ,(FunctionDecl (148,1) (Ident "label" 0) [(Equation (148,1) (FunLhs (Ident "label" 0) []) (SimpleRhs (148,9) (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (InfixApply (Variable (QualIdent (Just "EasyCheck") (Ident "updStamp" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Constructor (QualIdent Nothing (Ident ":" 0))))) []))]) ,(TypeSig (151,1) [(Ident "classify" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) []))))) ,(FunctionDecl (152,1) (Ident "classify" 0) [(Equation (152,1) (FunLhs (Ident "classify" 0) [(ConstructorPattern (QualIdent (Just "Prelude") (Ident "True" 0)) []),(VariablePattern (Ident "name" 94))]) (SimpleRhs (152,23) (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "label" 0))) (Variable (QualIdent Nothing (Ident "name" 94)))) [])),(Equation (153,1) (FunLhs (Ident "classify" 0) [(ConstructorPattern (QualIdent (Just "Prelude") (Ident "False" 0)) []),(VariablePattern (Ident "_" 97))]) (SimpleRhs (153,23) (Variable (QualIdent (Just "Prelude") (Ident "id" 0))) []))]) ,(TypeSig (156,1) [(Ident "trivial" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) [])))) ,(FunctionDecl (157,1) (Ident "trivial" 0) [(Equation (157,1) (FunLhs (Ident "trivial" 0) []) (SimpleRhs (157,11) (RightSection (InfixOp (QualIdent (Just "EasyCheck") (Ident "classify" 0))) (Literal (String "trivial"))) []))]) ,(TypeSig (160,1) [(Ident "collect" 0)] (ArrowType (VariableType (Ident "a" 0)) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) [])))) ,(FunctionDecl (161,1) (Ident "collect" 0) [(Equation (161,1) (FunLhs (Ident "collect" 0) []) (SimpleRhs (161,11) (InfixApply (Variable (QualIdent (Just "EasyCheck") (Ident "label" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "Prelude") (Ident "show" 0)))) []))]) ,(TypeSig (164,1) [(Ident "collectAs" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ArrowType (VariableType (Ident "a" 0)) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) []))))) ,(FunctionDecl (165,1) (Ident "collectAs" 0) [(Equation (165,1) (FunLhs (Ident "collectAs" 0) [(VariablePattern (Ident "name" 103))]) (SimpleRhs (165,18) (InfixApply (Variable (QualIdent (Just "EasyCheck") (Ident "label" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (InfixApply (LeftSection (Paren (InfixApply (Variable (QualIdent Nothing (Ident "name" 103))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ": ")))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0)))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "Prelude") (Ident "show" 0))))) []))]) ,(TypeSig (171,1) [(Ident "maxTest" 0),(Ident "maxFail" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Config" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []))) ,(FunctionDecl (172,1) (Ident "maxTest" 0) [(Equation (172,1) (FunLhs (Ident "maxTest" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "EasyCheck") (Ident "Config" 0)) [(VariablePattern (Ident "n" 105)),(VariablePattern (Ident "_" 106)),(VariablePattern (Ident "_" 107))]))]) (SimpleRhs (172,26) (Variable (QualIdent Nothing (Ident "n" 105))) []))]) ,(FunctionDecl (173,1) (Ident "maxFail" 0) [(Equation (173,1) (FunLhs (Ident "maxFail" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "EasyCheck") (Ident "Config" 0)) [(VariablePattern (Ident "_" 110)),(VariablePattern (Ident "n" 109)),(VariablePattern (Ident "_" 111))]))]) (SimpleRhs (173,26) (Variable (QualIdent Nothing (Ident "n" 109))) []))]) ,(TypeSig (175,1) [(Ident "every" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Config" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))))) ,(FunctionDecl (176,1) (Ident "every" 0) [(Equation (176,1) (FunLhs (Ident "every" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "EasyCheck") (Ident "Config" 0)) [(VariablePattern (Ident "_" 114)),(VariablePattern (Ident "_" 115)),(VariablePattern (Ident "f" 113))]))]) (SimpleRhs (176,24) (Variable (QualIdent Nothing (Ident "f" 113))) []))]) ,(TypeSig (178,1) [(Ident "setEvery" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Config" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Config" 0)) [])))) ,(FunctionDecl (179,1) (Ident "setEvery" 0) [(Equation (179,1) (FunLhs (Ident "setEvery" 0) [(VariablePattern (Ident "f" 117)),(ParenPattern (ConstructorPattern (QualIdent (Just "EasyCheck") (Ident "Config" 0)) [(VariablePattern (Ident "n" 117)),(VariablePattern (Ident "m" 117)),(VariablePattern (Ident "_" 118))]))]) (SimpleRhs (179,29) (Apply (Apply (Apply (Constructor (QualIdent (Just "EasyCheck") (Ident "Config" 0))) (Variable (QualIdent Nothing (Ident "n" 117)))) (Variable (QualIdent Nothing (Ident "m" 117)))) (Variable (QualIdent Nothing (Ident "f" 117)))) []))]) ,(TypeSig (181,1) [(Ident "easy" 0)] (ConstructorType (QualIdent Nothing (Ident "Config" 0)) [])) ,(FunctionDecl (182,1) (Ident "easy" 0) [(Equation (182,1) (FunLhs (Ident "easy" 0) []) (SimpleRhs (182,8) (Apply (Apply (Apply (Constructor (QualIdent (Just "EasyCheck") (Ident "Config" 0))) (Literal (Int (Ident "_" 122) 100))) (Literal (Int (Ident "_" 123) 1000))) (Paren (Lambda [(VariablePattern (Ident "n" 124)),(VariablePattern (Ident "_" 125))] (Let [(PatternDecl (183,22) (VariablePattern (Ident "s" 126)) (SimpleRhs (183,26) (InfixApply (Literal (Char ' ')) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "n" 124))) (InfixOp (QualIdent (Just "Prelude") (Ident "+" 0))) (Literal (Int (Ident "_" 128) 1)))))) []))] (InfixApply (Variable (QualIdent Nothing (Ident "s" 126))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (ListCompr (Apply (Variable (QualIdent (Just "Prelude") (Ident "chr" 0))) (Literal (Int (Ident "_" 131) 8))) [(StmtBind (VariablePattern (Ident "_" 130)) (Variable (QualIdent Nothing (Ident "s" 126))))])))))) []))]) ,(TypeSig (185,1) [(Ident "verbose" 0)] (ConstructorType (QualIdent Nothing (Ident "Config" 0)) [])) ,(FunctionDecl (186,1) (Ident "verbose" 0) [(Equation (186,1) (FunLhs (Ident "verbose" 0) []) (SimpleRhs (186,11) (Apply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "setEvery" 0))) (Paren (Lambda [(VariablePattern (Ident "n" 134)),(VariablePattern (Ident "xs" 134))] (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "n" 134)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String ":\n")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "unlines" 0))) (Variable (QualIdent Nothing (Ident "xs" 134))))))))) (Variable (QualIdent (Just "EasyCheck") (Ident "easy" 0)))) []))]) ,(TypeSig (189,1) [(Ident "easyCheck" 0),(Ident "verboseCheck" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) []) (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(TupleType [])]))) ,(FunctionDecl (190,1) (Ident "easyCheck" 0) [(Equation (190,1) (FunLhs (Ident "easyCheck" 0) []) (SimpleRhs (190,16) (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "check" 0))) (Variable (QualIdent (Just "EasyCheck") (Ident "easy" 0)))) []))]) ,(FunctionDecl (191,1) (Ident "verboseCheck" 0) [(Equation (191,1) (FunLhs (Ident "verboseCheck" 0) []) (SimpleRhs (191,16) (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "check" 0))) (Variable (QualIdent (Just "EasyCheck") (Ident "verbose" 0)))) []))]) ,(TypeSig (193,1) [(Ident "suc" 0)] (ArrowType (ArrowType (VariableType (Ident "a" 0)) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) [])) (ArrowType (ArrowType (VariableType (Ident "b" 0)) (VariableType (Ident "a" 0))) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) [])))) ,(FunctionDecl (194,1) (Ident "suc" 0) [(Equation (194,1) (FunLhs (Ident "suc" 0) [(VariablePattern (Ident "n" 139))]) (SimpleRhs (194,9) (Apply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "forAll" 0))) (Variable (QualIdent Nothing (Ident "n" 139)))) (Variable (QualIdent (Just "Prelude") (Ident "unknown" 0)))) []))]) ,(TypeSig (196,1) [(Ident "easyCheck1" 0)] (ArrowType (ArrowType (VariableType (Ident "_" 0)) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) [])) (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(TupleType [])]))) ,(FunctionDecl (197,1) (Ident "easyCheck1" 0) [(Equation (197,1) (FunLhs (Ident "easyCheck1" 0) []) (SimpleRhs (197,14) (InfixApply (Variable (QualIdent (Just "EasyCheck") (Ident "easyCheck" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0))))) []))]) ,(TypeSig (199,1) [(Ident "easyCheck2" 0)] (ArrowType (ArrowType (VariableType (Ident "_" 0)) (ArrowType (VariableType (Ident "_" 0)) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) []))) (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(TupleType [])]))) ,(FunctionDecl (200,1) (Ident "easyCheck2" 0) [(Equation (200,1) (FunLhs (Ident "easyCheck2" 0) []) (SimpleRhs (200,14) (InfixApply (Variable (QualIdent (Just "EasyCheck") (Ident "easyCheck" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0))))))) []))]) ,(TypeSig (202,1) [(Ident "easyCheck3" 0)] (ArrowType (ArrowType (VariableType (Ident "_" 0)) (ArrowType (VariableType (Ident "_" 0)) (ArrowType (VariableType (Ident "_" 0)) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) [])))) (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(TupleType [])]))) ,(FunctionDecl (203,1) (Ident "easyCheck3" 0) [(Equation (203,1) (FunLhs (Ident "easyCheck3" 0) []) (SimpleRhs (203,14) (InfixApply (Variable (QualIdent (Just "EasyCheck") (Ident "easyCheck" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0))))))))) []))]) ,(TypeSig (205,1) [(Ident "easyCheck4" 0)] (ArrowType (ArrowType (VariableType (Ident "_" 0)) (ArrowType (VariableType (Ident "_" 0)) (ArrowType (VariableType (Ident "_" 0)) (ArrowType (VariableType (Ident "_" 0)) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) []))))) (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(TupleType [])]))) ,(FunctionDecl (206,1) (Ident "easyCheck4" 0) [(Equation (206,1) (FunLhs (Ident "easyCheck4" 0) []) (SimpleRhs (206,14) (InfixApply (Variable (QualIdent (Just "EasyCheck") (Ident "easyCheck" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0))))))))))) []))]) ,(TypeSig (208,1) [(Ident "easyCheck5" 0)] (ArrowType (ArrowType (VariableType (Ident "_" 0)) (ArrowType (VariableType (Ident "_" 0)) (ArrowType (VariableType (Ident "_" 0)) (ArrowType (VariableType (Ident "_" 0)) (ArrowType (VariableType (Ident "_" 0)) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) [])))))) (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(TupleType [])]))) ,(FunctionDecl (209,1) (Ident "easyCheck5" 0) [(Equation (209,1) (FunLhs (Ident "easyCheck5" 0) []) (SimpleRhs (209,14) (InfixApply (Variable (QualIdent (Just "EasyCheck") (Ident "easyCheck" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0))))))))))))) []))]) ,(TypeSig (211,1) [(Ident "verboseCheck1" 0)] (ArrowType (ArrowType (VariableType (Ident "_" 0)) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) [])) (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(TupleType [])]))) ,(FunctionDecl (212,1) (Ident "verboseCheck1" 0) [(Equation (212,1) (FunLhs (Ident "verboseCheck1" 0) []) (SimpleRhs (212,17) (InfixApply (Variable (QualIdent (Just "EasyCheck") (Ident "verboseCheck" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0))))) []))]) ,(TypeSig (214,1) [(Ident "verboseCheck2" 0)] (ArrowType (ArrowType (VariableType (Ident "_" 0)) (ArrowType (VariableType (Ident "_" 0)) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) []))) (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(TupleType [])]))) ,(FunctionDecl (215,1) (Ident "verboseCheck2" 0) [(Equation (215,1) (FunLhs (Ident "verboseCheck2" 0) []) (SimpleRhs (215,17) (InfixApply (Variable (QualIdent (Just "EasyCheck") (Ident "verboseCheck" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0))))))) []))]) ,(TypeSig (217,1) [(Ident "verboseCheck3" 0)] (ArrowType (ArrowType (VariableType (Ident "_" 0)) (ArrowType (VariableType (Ident "_" 0)) (ArrowType (VariableType (Ident "_" 0)) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) [])))) (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(TupleType [])]))) ,(FunctionDecl (218,1) (Ident "verboseCheck3" 0) [(Equation (218,1) (FunLhs (Ident "verboseCheck3" 0) []) (SimpleRhs (218,17) (InfixApply (Variable (QualIdent (Just "EasyCheck") (Ident "verboseCheck" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0))))))))) []))]) ,(TypeSig (220,1) [(Ident "verboseCheck4" 0)] (ArrowType (ArrowType (VariableType (Ident "_" 0)) (ArrowType (VariableType (Ident "_" 0)) (ArrowType (VariableType (Ident "_" 0)) (ArrowType (VariableType (Ident "_" 0)) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) []))))) (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(TupleType [])]))) ,(FunctionDecl (221,1) (Ident "verboseCheck4" 0) [(Equation (221,1) (FunLhs (Ident "verboseCheck4" 0) []) (SimpleRhs (221,17) (InfixApply (Variable (QualIdent (Just "EasyCheck") (Ident "verboseCheck" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0))))))))))) []))]) ,(TypeSig (223,1) [(Ident "verboseCheck5" 0)] (ArrowType (ArrowType (VariableType (Ident "_" 0)) (ArrowType (VariableType (Ident "_" 0)) (ArrowType (VariableType (Ident "_" 0)) (ArrowType (VariableType (Ident "_" 0)) (ArrowType (VariableType (Ident "_" 0)) (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) [])))))) (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(TupleType [])]))) ,(FunctionDecl (224,1) (Ident "verboseCheck5" 0) [(Equation (224,1) (FunLhs (Ident "verboseCheck5" 0) []) (SimpleRhs (224,17) (InfixApply (Variable (QualIdent (Just "EasyCheck") (Ident "verboseCheck" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "suc" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0))))))))))))) []))]) ,(TypeSig (227,1) [(Ident "check" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Config" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Prop" 0)) []) (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(TupleType [])])))) ,(FunctionDecl (228,1) (Ident "check" 0) [(Equation (228,1) (FunLhs (Ident "check" 0) [(VariablePattern (Ident "config" 161)),(VariablePattern (Ident "p" 161))]) (SimpleRhs (228,18) (Do [(StmtBind (VariablePattern (Ident "isOrBased" 163)) (Variable (QualIdent (Just "EasyCheck") (Ident "evalModeIsOrBased" 0))))] (IfThenElse (Variable (QualIdent Nothing (Ident "isOrBased" 163))) (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "tests" 0))) (Variable (QualIdent Nothing (Ident "config" 161)))) (Variable (QualIdent Nothing (Ident "p" 161)))) (Literal (Int (Ident "_" 164) 0))) (Literal (Int (Ident "_" 165) 0))) (List [])) (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "putStrLn" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "$" 0))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "unlines" 0))) (List [(Literal (String "")),(Literal (String "EasyCheck must be run without suspending computations.")),(Literal (String "")),(Literal (String "Please")),(Literal (String "")),(Literal (String " - type ':set or' at the command prompt in kicsi or")),(Literal (String " - put 'ChoiceMode=OrBased' in your ~/.kicsrc file")),(Literal (String "")),(Literal (String "to enable this mode for this session or for all sessions respectively."))]))))) []))]) ,(TypeSig (238,1) [(Ident "tests" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Config" 0)) []) (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "Test" 0)) [])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ArrowType (ListType (ListType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(TupleType [])]))))))) ,(FunctionDecl (239,1) (Ident "tests" 0) [(Equation (239,1) (FunLhs (Ident "tests" 0) [(VariablePattern (Ident "_" 167)),(ListPattern []),(VariablePattern (Ident "ntest" 166)),(VariablePattern (Ident "_" 168)),(VariablePattern (Ident "stamps" 166))]) (SimpleRhs (239,29) (Apply (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "done" 0))) (Literal (String "Passed"))) (Variable (QualIdent Nothing (Ident "ntest" 166)))) (Variable (QualIdent Nothing (Ident "stamps" 166)))) [])),(Equation (240,1) (FunLhs (Ident "tests" 0) [(VariablePattern (Ident "config" 170)),(ParenPattern (InfixPattern (VariablePattern (Ident "t" 170)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "ts" 170)))),(VariablePattern (Ident "ntest" 170)),(VariablePattern (Ident "nfail" 170)),(VariablePattern (Ident "stamps" 170))]) (GuardedRhs [(CondExpr (241,3) (InfixApply (Variable (QualIdent Nothing (Ident "ntest" 170))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "maxTest" 0))) (Variable (QualIdent Nothing (Ident "config" 170))))) (Apply (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "done" 0))) (Literal (String "OK, passed"))) (Variable (QualIdent Nothing (Ident "ntest" 170)))) (Variable (QualIdent Nothing (Ident "stamps" 170))))),(CondExpr (242,3) (InfixApply (Variable (QualIdent Nothing (Ident "nfail" 170))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "maxFail" 0))) (Variable (QualIdent Nothing (Ident "config" 170))))) (Apply (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "done" 0))) (Literal (String "Arguments exhausted after"))) (Variable (QualIdent Nothing (Ident "ntest" 170)))) (Variable (QualIdent Nothing (Ident "stamps" 170))))),(CondExpr (243,3) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (Do [(StmtExpr (Apply (Variable (QualIdent (Just "Prelude") (Ident "putStr" 0))) (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "every" 0))) (Variable (QualIdent Nothing (Ident "config" 170)))) (Variable (QualIdent Nothing (Ident "ntest" 170)))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "args" 0))) (Variable (QualIdent Nothing (Ident "t" 170)))))))))] (Case (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "result" 0))) (Variable (QualIdent Nothing (Ident "t" 170)))) [(Alt (246,9) (ConstructorPattern (QualIdent (Just "EasyCheck") (Ident "Undef" 0)) []) (SimpleRhs (246,18) (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "tests" 0))) (Variable (QualIdent Nothing (Ident "config" 170)))) (Variable (QualIdent Nothing (Ident "ts" 170)))) (Variable (QualIdent Nothing (Ident "ntest" 170)))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "nfail" 170))) (InfixOp (QualIdent (Just "Prelude") (Ident "+" 0))) (Literal (Int (Ident "_" 174) 1))))) (Variable (QualIdent Nothing (Ident "stamps" 170)))) [])),(Alt (247,9) (ConstructorPattern (QualIdent (Just "EasyCheck") (Ident "Ok" 0)) []) (SimpleRhs (247,18) (Apply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "tests" 0))) (Variable (QualIdent Nothing (Ident "config" 170)))) (Variable (QualIdent Nothing (Ident "ts" 170)))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "ntest" 170))) (InfixOp (QualIdent (Just "Prelude") (Ident "+" 0))) (Literal (Int (Ident "_" 177) 1))))) (Variable (QualIdent Nothing (Ident "nfail" 170)))) (Paren (InfixApply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "stamp" 0))) (Variable (QualIdent Nothing (Ident "t" 170)))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "stamps" 170)))))) [])),(Alt (248,9) (ConstructorPattern (QualIdent (Just "EasyCheck") (Ident "Falsified" 0)) [(VariablePattern (Ident "results" 178))]) (SimpleRhs (248,30) (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "putStr" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "$" 0))) (InfixApply (Literal (String "Falsified by ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "nth" 0))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "ntest" 170))) (InfixOp (QualIdent (Just "Prelude") (Ident "+" 0))) (Literal (Int (Ident "_" 180) 1))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " test")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (IfThenElse (Apply (Variable (QualIdent (Just "Prelude") (Ident "null" 0))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "args" 0))) (Variable (QualIdent Nothing (Ident "t" 170)))))) (Literal (String ".")) (Literal (String ".\nArguments:")))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String "\n")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "unlines" 0))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "args" 0))) (Variable (QualIdent Nothing (Ident "t" 170)))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (IfThenElse (Apply (Variable (QualIdent (Just "Prelude") (Ident "null" 0))) (Variable (QualIdent Nothing (Ident "results" 178)))) (Literal (String "no result\n")) (InfixApply (Literal (String "Results:\n")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "unlines" 0))) (Variable (QualIdent Nothing (Ident "results" 178))))))))))))) [])),(Alt (254,9) (ConstructorPattern (QualIdent (Just "EasyCheck") (Ident "Ambigious" 0)) [(VariablePattern (Ident "bs" 181)),(VariablePattern (Ident "results" 181))]) (SimpleRhs (254,33) (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "putStr" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "$" 0))) (InfixApply (Literal (String "Ambigious property yields ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "bs" 181)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " for ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "nth" 0))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "ntest" 170))) (InfixOp (QualIdent (Just "Prelude") (Ident "+" 0))) (Literal (Int (Ident "_" 183) 1))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " test")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (IfThenElse (Apply (Variable (QualIdent (Just "Prelude") (Ident "null" 0))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "args" 0))) (Variable (QualIdent Nothing (Ident "t" 170)))))) (Literal (String ".")) (Literal (String ".\nArguments:")))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String "\n")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "unlines" 0))) (Paren (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "args" 0))) (Variable (QualIdent Nothing (Ident "t" 170)))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (IfThenElse (Apply (Variable (QualIdent (Just "Prelude") (Ident "null" 0))) (Variable (QualIdent Nothing (Ident "results" 181)))) (Literal (String "no result\n")) (InfixApply (Literal (String "Results:\n")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "unlines" 0))) (Variable (QualIdent Nothing (Ident "results" 181))))))))))))))) []))])))] []))]) ,(TypeSig (262,1) [(Ident "nth" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (263,1) (Ident "nth" 0) [(Equation (263,1) (FunLhs (Ident "nth" 0) [(VariablePattern (Ident "n" 184))]) (SimpleRhs (263,9) (Case (Variable (QualIdent Nothing (Ident "n" 184))) [(Alt (263,19) (LiteralPattern (Int (Ident "_" 187) 1)) (SimpleRhs (263,24) (Literal (String "first")) [])),(Alt (263,33) (LiteralPattern (Int (Ident "_" 190) 2)) (SimpleRhs (263,38) (Literal (String "second")) [])),(Alt (263,48) (LiteralPattern (Int (Ident "_" 193) 3)) (SimpleRhs (263,53) (Literal (String "third")) [])),(Alt (263,62) (VariablePattern (Ident "_" 196)) (SimpleRhs (263,67) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "n" 184)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String "th"))) []))]) []))]) ,(TypeSig (265,1) [(Ident "done" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ArrowType (ListType (ListType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(TupleType [])]))))) ,(FunctionDecl (266,1) (Ident "done" 0) [(Equation (266,1) (FunLhs (Ident "done" 0) [(VariablePattern (Ident "mesg" 198)),(VariablePattern (Ident "ntest" 198)),(VariablePattern (Ident "stamps" 198))]) (SimpleRhs (266,26) (Do [] (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "putStr" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "$" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "mesg" 198))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "ntest" 198)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " test")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (IfThenElse (InfixApply (Variable (QualIdent Nothing (Ident "ntest" 198))) (InfixOp (QualIdent (Just "Prelude") (Ident ">=" 0))) (Literal (Int (Ident "_" 221) 2))) (Literal (String "s")) (Literal (String "")))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Variable (QualIdent Nothing (Ident "table" 199)))))))))) [(PatternDecl (270,3) (VariablePattern (Ident "table" 199)) (SimpleRhs (270,11) (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "display" 199))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent Nothing (Ident "entry" 199)))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "reverse" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (InfixApply (Apply (Variable (QualIdent (Just "Sort") (Ident "mergeSort" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "leqPair" 0))) (Variable (QualIdent (Just "Prelude") (Ident "<=" 0)))) (Paren (Apply (Variable (QualIdent (Just "Sort") (Ident "leqList" 0))) (Variable (QualIdent (Just "Sort") (Ident "leqString" 0)))))))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent Nothing (Ident "pairLength" 199)))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (InfixApply (Variable (QualIdent (Just "List") (Ident "group" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (InfixApply (Apply (Variable (QualIdent (Just "Sort") (Ident "mergeSort" 0))) (Paren (Apply (Variable (QualIdent (Just "Sort") (Ident "leqList" 0))) (Variable (QualIdent (Just "Sort") (Ident "leqString" 0)))))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "filter" 0))) (Paren (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "not" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "Prelude") (Ident "null" 0))))))))))))) (InfixOp (QualIdent (Just "Prelude") (Ident "$" 0))) (Variable (QualIdent Nothing (Ident "stamps" 198)))) [])),(FunctionDecl (280,3) (Ident "display" 199) [(Equation (280,3) (FunLhs (Ident "display" 199) [(ListPattern [])]) (SimpleRhs (280,24) (Literal (String ".\n")) [])),(Equation (281,3) (FunLhs (Ident "display" 199) [(ListPattern [(VariablePattern (Ident "x" 203))])]) (SimpleRhs (281,24) (InfixApply (Literal (String " - ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "x" 203))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ".\n")))) [])),(Equation (282,3) (FunLhs (Ident "display" 199) [(AsPattern (Ident "xs" 205) (ParenPattern (InfixPattern (VariablePattern (Ident "_" 206)) (QualIdent Nothing (Ident ":" 0)) (InfixPattern (VariablePattern (Ident "_" 207)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "_" 208))))))]) (SimpleRhs (282,24) (InfixApply (Literal (String ".\n")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "unlines" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (RightSection (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ".")))) (Variable (QualIdent Nothing (Ident "xs" 205))))))) []))]),(FunctionDecl (284,3) (Ident "pairLength" 199) [(Equation (284,3) (FunLhs (Ident "pairLength" 199) [(AsPattern (Ident "xss" 210) (ParenPattern (InfixPattern (VariablePattern (Ident "xs" 210)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "_" 211)))))]) (SimpleRhs (284,27) (Tuple [(Apply (Variable (QualIdent (Just "Prelude") (Ident "length" 0))) (Variable (QualIdent Nothing (Ident "xss" 210)))),(Variable (QualIdent Nothing (Ident "xs" 210)))]) []))]),(FunctionDecl (286,3) (Ident "entry" 199) [(Equation (286,3) (FunLhs (Ident "entry" 199) [(TuplePattern [(VariablePattern (Ident "n" 213)),(VariablePattern (Ident "xs" 213))])]) (SimpleRhs (286,18) (InfixApply (Apply (Apply (Variable (QualIdent Nothing (Ident "percentage" 199))) (Variable (QualIdent Nothing (Ident "n" 213)))) (Variable (QualIdent Nothing (Ident "ntest" 198)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "concat" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "List") (Ident "intersperse" 0))) (Literal (String ", "))) (Variable (QualIdent Nothing (Ident "xs" 213)))))))) []))]),(FunctionDecl (288,3) (Ident "percentage" 199) [(Equation (288,3) (FunLhs (Ident "percentage" 199) [(VariablePattern (Ident "n" 215)),(VariablePattern (Ident "m" 215))]) (SimpleRhs (288,20) (Let [(PatternDecl (288,24) (VariablePattern (Ident "s" 217)) (SimpleRhs (288,28) (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Paren (InfixApply (Paren (InfixApply (Literal (Int (Ident "_" 219) 100)) (InfixOp (QualIdent (Just "Prelude") (Ident "*" 0))) (Variable (QualIdent Nothing (Ident "n" 215))))) (InfixOp (QualIdent (Just "Prelude") (Ident "div" 0))) (Variable (QualIdent Nothing (Ident "m" 215)))))) []))] (InfixApply (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "replicate" 0))) (Paren (InfixApply (Literal (Int (Ident "_" 220) 3)) (InfixOp (QualIdent (Just "Prelude") (Ident "-" 0))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "length" 0))) (Variable (QualIdent Nothing (Ident "s" 217))))))) (Literal (Char ' '))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "s" 217))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String "%"))))) []))])]))]) ,(TypeSig (293,1) [(Ident "leqPair" 0)] (ArrowType (ArrowType (VariableType (Ident "a" 0)) (ArrowType (VariableType (Ident "a" 0)) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) (ArrowType (ArrowType (VariableType (Ident "b" 0)) (ArrowType (VariableType (Ident "b" 0)) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) (ArrowType (TupleType [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))]) (ArrowType (TupleType [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))]) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) [])))))) ,(FunctionDecl (294,1) (Ident "leqPair" 0) [(Equation (294,1) (FunLhs (Ident "leqPair" 0) [(VariablePattern (Ident "leqa" 222)),(VariablePattern (Ident "leqb" 222)),(TuplePattern [(VariablePattern (Ident "x1" 222)),(VariablePattern (Ident "y1" 222))]),(TuplePattern [(VariablePattern (Ident "x2" 222)),(VariablePattern (Ident "y2" 222))])]) (GuardedRhs [(CondExpr (295,3) (InfixApply (Variable (QualIdent Nothing (Ident "x1" 222))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Variable (QualIdent Nothing (Ident "x2" 222)))) (Apply (Apply (Variable (QualIdent Nothing (Ident "leqb" 222))) (Variable (QualIdent Nothing (Ident "y1" 222)))) (Variable (QualIdent Nothing (Ident "y2" 222))))),(CondExpr (296,3) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (Apply (Apply (Variable (QualIdent Nothing (Ident "leqa" 222))) (Variable (QualIdent Nothing (Ident "x1" 222)))) (Variable (QualIdent Nothing (Ident "x2" 222)))))] []))]) ,(TypeSig (298,1) [(Ident "leList" 0)] (ArrowType (ArrowType (VariableType (Ident "a" 0)) (ArrowType (VariableType (Ident "a" 0)) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) (ArrowType (ListType (VariableType (Ident "a" 0))) (ArrowType (ListType (VariableType (Ident "a" 0))) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))))) ,(FunctionDecl (299,1) (Ident "leList" 0) [(Equation (299,1) (FunLhs (Ident "leList" 0) [(VariablePattern (Ident "_" 225)),(ListPattern []),(ListPattern [])]) (SimpleRhs (299,27) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) [])),(Equation (300,1) (FunLhs (Ident "leList" 0) [(VariablePattern (Ident "_" 228)),(ListPattern []),(ParenPattern (InfixPattern (VariablePattern (Ident "_" 229)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "_" 230))))]) (SimpleRhs (300,27) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0))) [])),(Equation (301,1) (FunLhs (Ident "leList" 0) [(VariablePattern (Ident "_" 233)),(ParenPattern (InfixPattern (VariablePattern (Ident "_" 234)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "_" 235)))),(ListPattern [])]) (SimpleRhs (301,27) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) [])),(Equation (302,1) (FunLhs (Ident "leList" 0) [(VariablePattern (Ident "le" 237)),(ParenPattern (InfixPattern (VariablePattern (Ident "x" 237)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "xs" 237)))),(ParenPattern (InfixPattern (VariablePattern (Ident "y" 237)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "ys" 237))))]) (SimpleRhs (302,27) (InfixApply (Apply (Apply (Variable (QualIdent Nothing (Ident "le" 237))) (Variable (QualIdent Nothing (Ident "x" 237)))) (Variable (QualIdent Nothing (Ident "y" 237)))) (InfixOp (QualIdent (Just "Prelude") (Ident "||" 0))) (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "x" 237))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Variable (QualIdent Nothing (Ident "y" 237)))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (Apply (Apply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "leList" 0))) (Variable (QualIdent Nothing (Ident "le" 237)))) (Variable (QualIdent Nothing (Ident "xs" 237)))) (Variable (QualIdent Nothing (Ident "ys" 237)))))) []))]) ,(TypeSig (304,1) [(Ident "valuesOf" 0)] (ArrowType (VariableType (Ident "a" 0)) (ListType (VariableType (Ident "a" 0))))) ,(FunctionDecl (305,1) (Ident "valuesOf" 0) [(Equation (305,1) (FunLhs (Ident "valuesOf" 0) []) (SimpleRhs (306,3) (InfixApply (Apply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "rndLevelDiagFlat" 0))) (Literal (Int (Ident "_" 241) 3))) (Literal (Int (Ident "_" 242) 2008))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (InfixApply (Variable (QualIdent (Just "Meta") (Ident "searchTree" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (LeftSection (Variable (QualIdent (Just "Prelude") (Ident "id" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "$##" 0)))))) []))]) ,(TypeSig (315,1) [(Ident "rndLevelDiag" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "SearchTree" 0)) [(VariableType (Ident "a" 0))]) (ListType (VariableType (Ident "a" 0)))))) ,(FunctionDecl (316,1) (Ident "rndLevelDiag" 0) [(Equation (316,1) (FunLhs (Ident "rndLevelDiag" 0) [(VariablePattern (Ident "rnd" 243)),(VariablePattern (Ident "t" 243))]) (SimpleRhs (317,3) (ListCompr (Variable (QualIdent Nothing (Ident "x" 245))) [(StmtBind (ConstructorPattern (QualIdent (Just "Prelude") (Ident "Value" 0)) [(VariablePattern (Ident "x" 245))]) (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "diagonal" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "rndLevels" 0))) (Variable (QualIdent Nothing (Ident "rnd" 243)))) (List [(Variable (QualIdent Nothing (Ident "t" 243)))])))))]) []))]) ,(TypeSig (319,1) [(Ident "rndLevels" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "SearchTree" 0)) [(VariableType (Ident "a" 0))])) (ListType (ListType (ConstructorType (QualIdent Nothing (Ident "SearchTree" 0)) [(VariableType (Ident "a" 0))])))))) ,(FunctionDecl (320,1) (Ident "rndLevels" 0) [(Equation (320,1) (FunLhs (Ident "rndLevels" 0) [(VariablePattern (Ident "rnd" 246)),(VariablePattern (Ident "ts" 246))]) (SimpleRhs (321,3) (IfThenElse (Apply (Variable (QualIdent (Just "Prelude") (Ident "null" 0))) (Variable (QualIdent Nothing (Ident "ts" 246)))) (List []) (InfixApply (Variable (QualIdent Nothing (Ident "ts" 246))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "rndLevels" 0))) (Variable (QualIdent Nothing (Ident "r" 247)))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "concat" 0))) (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "zipWith" 0))) (Variable (QualIdent (Just "EasyCheck") (Ident "shuffle" 0)))) (Variable (QualIdent Nothing (Ident "rs" 247)))) (ListCompr (Variable (QualIdent Nothing (Ident "us" 249))) [(StmtBind (ConstructorPattern (QualIdent (Just "Prelude") (Ident "Choice" 0)) [(VariablePattern (Ident "us" 249))]) (Variable (QualIdent Nothing (Ident "ts" 246))))])))))))) [(PatternDecl (324,3) (InfixPattern (VariablePattern (Ident "r" 247)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "rs" 247))) (SimpleRhs (324,10) (Apply (Variable (QualIdent (Just "RandomExternal") (Ident "split" 0))) (Variable (QualIdent Nothing (Ident "rnd" 246)))) []))]))]) ,(TypeSig (328,1) [(Ident "rndLevelDiagFlat" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "SearchTree" 0)) [(VariableType (Ident "a" 0))]) (ListType (VariableType (Ident "a" 0))))))) ,(FunctionDecl (329,1) (Ident "rndLevelDiagFlat" 0) [(Equation (329,1) (FunLhs (Ident "rndLevelDiagFlat" 0) [(VariablePattern (Ident "d" 250)),(VariablePattern (Ident "rnd" 250)),(VariablePattern (Ident "t" 250))]) (SimpleRhs (330,3) (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "concat" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "$" 0))) (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "transpose" 0))) (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "zipWith" 0))) (Variable (QualIdent (Just "EasyCheck") (Ident "rndLevelDiag" 0)))) (Variable (QualIdent Nothing (Ident "rs" 251)))) (Paren (Apply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "flatRep" 0))) (Variable (QualIdent Nothing (Ident "d" 250)))) (List [(Variable (QualIdent Nothing (Ident "t" 250)))]))))))) [(PatternDecl (332,3) (VariablePattern (Ident "rs" 251)) (SimpleRhs (332,8) (Apply (Variable (QualIdent (Just "RandomExternal") (Ident "split" 0))) (Variable (QualIdent Nothing (Ident "rnd" 250)))) []))]))]) ,(TypeSig (334,1) [(Ident "flat" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "SearchTree" 0)) [(VariableType (Ident "a" 0))]) (ListType (ConstructorType (QualIdent Nothing (Ident "SearchTree" 0)) [(VariableType (Ident "a" 0))])))) ,(FunctionDecl (335,1) (Ident "flat" 0) [(Equation (335,1) (FunLhs (Ident "flat" 0) [(VariablePattern (Ident "t" 253))]) (SimpleRhs (335,10) (Case (Variable (QualIdent Nothing (Ident "t" 253))) [(Alt (336,12) (ConstructorPattern (QualIdent (Just "Prelude") (Ident "Value" 0)) [(VariablePattern (Ident "_" 256))]) (SimpleRhs (336,23) (List [(Variable (QualIdent Nothing (Ident "t" 253)))]) [])),(Alt (337,12) (ConstructorPattern (QualIdent (Just "Prelude") (Ident "Choice" 0)) [(VariablePattern (Ident "ts" 258))]) (SimpleRhs (337,25) (Variable (QualIdent Nothing (Ident "ts" 258))) [])),(Alt (338,12) (VariablePattern (Ident "_" 261)) (SimpleRhs (338,17) (List []) []))]) []))]) ,(TypeSig (340,1) [(Ident "flatRep" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "SearchTree" 0)) [(VariableType (Ident "a" 0))])) (ListType (ConstructorType (QualIdent Nothing (Ident "SearchTree" 0)) [(VariableType (Ident "a" 0))]))))) ,(FunctionDecl (341,1) (Ident "flatRep" 0) [(Equation (341,1) (FunLhs (Ident "flatRep" 0) [(VariablePattern (Ident "n" 263)),(VariablePattern (Ident "ts" 263))]) (GuardedRhs [(CondExpr (341,14) (InfixApply (Variable (QualIdent Nothing (Ident "n" 263))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Int (Ident "_" 265) 0))) (Variable (QualIdent Nothing (Ident "ts" 263)))),(CondExpr (342,14) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (Apply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "flatRep" 0))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "n" 263))) (InfixOp (QualIdent (Just "Prelude") (Ident "-" 0))) (Literal (Int (Ident "_" 266) 1))))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "concatMap" 0))) (Variable (QualIdent (Just "EasyCheck") (Ident "flat" 0)))) (Variable (QualIdent Nothing (Ident "ts" 263)))))))] []))]) ,(TypeSig (352,1) [(Ident "diagonal" 0)] (ArrowType (ListType (ListType (VariableType (Ident "a" 0)))) (ListType (VariableType (Ident "a" 0))))) ,(FunctionDecl (353,1) (Ident "diagonal" 0) [(Equation (353,1) (FunLhs (Ident "diagonal" 0) []) (SimpleRhs (353,12) (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "concat" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "foldr" 0))) (Variable (QualIdent Nothing (Ident "diags" 268)))) (List []))) [(FunctionDecl (355,3) (Ident "diags" 268) [(Equation (355,3) (FunLhs (Ident "diags" 268) [(ListPattern []),(VariablePattern (Ident "ys" 269))]) (SimpleRhs (355,21) (Variable (QualIdent Nothing (Ident "ys" 269))) [])),(Equation (356,3) (FunLhs (Ident "diags" 268) [(ParenPattern (InfixPattern (VariablePattern (Ident "x" 271)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "xs" 271)))),(VariablePattern (Ident "ys" 271))]) (SimpleRhs (356,21) (InfixApply (List [(Variable (QualIdent Nothing (Ident "x" 271)))]) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Apply (Variable (QualIdent Nothing (Ident "merge" 268))) (Variable (QualIdent Nothing (Ident "xs" 271)))) (Variable (QualIdent Nothing (Ident "ys" 271))))) []))]),(FunctionDecl (358,3) (Ident "merge" 268) [(Equation (358,3) (FunLhs (Ident "merge" 268) [(ListPattern []),(VariablePattern (Ident "ys" 273))]) (SimpleRhs (358,27) (Variable (QualIdent Nothing (Ident "ys" 273))) [])),(Equation (359,3) (FunLhs (Ident "merge" 268) [(AsPattern (Ident "xs" 275) (ParenPattern (InfixPattern (VariablePattern (Ident "_" 276)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "_" 277))))),(ListPattern [])]) (SimpleRhs (359,27) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (RightSection (InfixConstr (QualIdent Nothing (Ident ":" 0))) (List []))) (Variable (QualIdent Nothing (Ident "xs" 275)))) [])),(Equation (360,3) (FunLhs (Ident "merge" 268) [(ParenPattern (InfixPattern (VariablePattern (Ident "x" 279)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "xs" 279)))),(ParenPattern (InfixPattern (VariablePattern (Ident "y" 279)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "ys" 279))))]) (SimpleRhs (360,27) (InfixApply (Paren (InfixApply (Variable (QualIdent Nothing (Ident "x" 279))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "y" 279))))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Apply (Variable (QualIdent Nothing (Ident "merge" 268))) (Variable (QualIdent Nothing (Ident "xs" 279)))) (Variable (QualIdent Nothing (Ident "ys" 279))))) []))])]))]) ,(TypeSig (369,1) [(Ident "shuffle" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ArrowType (ListType (VariableType (Ident "a" 0))) (ListType (VariableType (Ident "a" 0)))))) ,(FunctionDecl (370,1) (Ident "shuffle" 0) [(Equation (370,1) (FunLhs (Ident "shuffle" 0) [(VariablePattern (Ident "rnd" 281)),(VariablePattern (Ident "l" 281))]) (SimpleRhs (370,17) (Apply (Apply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "shuffleWithLen" 0))) (Paren (Apply (Variable (QualIdent (Just "RandomExternal") (Ident "nextInt" 0))) (Variable (QualIdent Nothing (Ident "rnd" 281)))))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "length" 0))) (Variable (QualIdent Nothing (Ident "l" 281)))))) (Variable (QualIdent Nothing (Ident "l" 281)))) []))]) ,(TypeSig (372,1) [(Ident "shuffleWithLen" 0)] (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) [])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ArrowType (ListType (VariableType (Ident "a" 0))) (ListType (VariableType (Ident "a" 0))))))) ,(FunctionDecl (373,1) (Ident "shuffleWithLen" 0) [(Equation (373,1) (FunLhs (Ident "shuffleWithLen" 0) [(ParenPattern (InfixPattern (VariablePattern (Ident "r" 283)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "rs" 283)))),(VariablePattern (Ident "len" 283)),(VariablePattern (Ident "xs" 283))]) (GuardedRhs [(CondExpr (374,3) (InfixApply (Variable (QualIdent Nothing (Ident "len" 283))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Int (Ident "_" 286) 0))) (List [])),(CondExpr (375,3) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "z" 284))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Apply (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "shuffleWithLen" 0))) (Variable (QualIdent Nothing (Ident "rs" 283)))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "len" 283))) (InfixOp (QualIdent (Just "Prelude") (Ident "-" 0))) (Literal (Int (Ident "_" 287) 1))))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "ys" 284))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Variable (QualIdent Nothing (Ident "zs" 284))))))))] [(PatternDecl (377,3) (TuplePattern [(VariablePattern (Ident "ys" 284)),(InfixPattern (VariablePattern (Ident "z" 284)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "zs" 284)))]) (SimpleRhs (377,15) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "splitAt" 0))) (Paren (InfixApply (Apply (Variable (QualIdent (Just "Integer") (Ident "abs" 0))) (Variable (QualIdent Nothing (Ident "r" 283)))) (InfixOp (QualIdent (Just "Prelude") (Ident "mod" 0))) (Variable (QualIdent Nothing (Ident "len" 283)))))) (Variable (QualIdent Nothing (Ident "xs" 283)))) []))]))]) ,(TypeSig (380,1) [(Ident "transpose" 0)] (ArrowType (ListType (ListType (VariableType (Ident "a" 0)))) (ListType (ListType (VariableType (Ident "a" 0)))))) ,(FunctionDecl (381,1) (Ident "transpose" 0) [(Equation (381,1) (FunLhs (Ident "transpose" 0) [(ListPattern [])]) (SimpleRhs (381,16) (List []) [])),(Equation (382,1) (FunLhs (Ident "transpose" 0) [(ParenPattern (InfixPattern (ListPattern []) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "xss" 290))))]) (SimpleRhs (382,24) (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "transpose" 0))) (Variable (QualIdent Nothing (Ident "xss" 290)))) [])),(Equation (383,1) (FunLhs (Ident "transpose" 0) [(ParenPattern (InfixPattern (ParenPattern (InfixPattern (VariablePattern (Ident "x" 292)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "xs" 292)))) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "xss" 292))))]) (SimpleRhs (384,5) (InfixApply (Paren (InfixApply (Variable (QualIdent Nothing (Ident "x" 292))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (ListCompr (Variable (QualIdent Nothing (Ident "h" 294))) [(StmtBind (ParenPattern (InfixPattern (VariablePattern (Ident "h" 294)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "_" 295)))) (Variable (QualIdent Nothing (Ident "xss" 292))))]))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Variable (QualIdent (Just "EasyCheck") (Ident "transpose" 0))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "xs" 292))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (ListCompr (Variable (QualIdent Nothing (Ident "t" 296))) [(StmtBind (ParenPattern (InfixPattern (VariablePattern (Ident "_" 297)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "t" 296)))) (Variable (QualIdent Nothing (Ident "xss" 292))))]))))) []))]) ,(TypeSig (386,1) [(Ident "evalModeIsOrBased" 0)] (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(ConstructorType (QualIdent Nothing (Ident "Bool" 0)) [])])) ,(FunctionDecl (387,1) (Ident "evalModeIsOrBased" 0) [(Equation (387,1) (FunLhs (Ident "evalModeIsOrBased" 0) []) (SimpleRhs (387,21) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "getSearchTree" 0))) (Paren (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "id" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "$#" 0))) (Variable (QualIdent (Just "Prelude") (Ident "unknown" 0)))))) (InfixOp (QualIdent (Just "Prelude") (Ident ">>=" 0))) (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "return" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (RightSection (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Apply (Constructor (QualIdent (Just "Prelude") (Ident "Value" 0))) (Tuple []))))) []))]) ]