packages feed

KiCS-0.9.1: src/lib/Curry/Module/EasyCheck.cy

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 []))))) []))])
]