module Prelude
(Var "!!",Value {args = 2, fixity = L, priority = 9, letBound = True, traced = False})
(Var "$",Value {args = 2, fixity = R, priority = 0, letBound = True, traced = False})
(Var "$!",Value {args = 2, fixity = R, priority = 0, letBound = True, traced = False})
(Var "&&",Value {args = 2, fixity = R, priority = 3, letBound = True, traced = False})
(Var "++",Value {args = 2, fixity = R, priority = 5, letBound = True, traced = False})
(Var ".",Value {args = 3, fixity = R, priority = 9, letBound = True, traced = False})
(Var "=<<",Value {args = 2, fixity = R, priority = 1, letBound = True, traced = False})
(Var "^",Value {args = 2, fixity = R, priority = 8, letBound = True, traced = False})
(Var "^^",Value {args = 2, fixity = R, priority = 8, letBound = True, traced = False})
(Var "_filter",Value {args = 3, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "_foldr",Value {args = 3, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "all",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "and",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "any",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "appendFile",Value {args = 2, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "asTypeOf",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "break",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "catch",Value {args = 2, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "concat",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "concatMap",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "const",Value {args = 2, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "curry",Value {args = 3, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "cycle",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "drop",Value {args = 2, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "dropWhile",Value {args = 2, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "either",Value {args = 3, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "elem",Value {args = 1, fixity = None, priority = 4, letBound = True, traced = False})
(Var "error",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "even",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "filter",Value {args = 2, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "flip",Value {args = 3, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "foldl",Value {args = 3, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "foldl1",Value {args = 2, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "foldr",Value {args = 3, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "foldr1",Value {args = 2, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "fromIntegral",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "fst",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "gcd",Value {args = 2, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "getChar",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "getContents",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "getLine",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "head",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "id",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "init",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "interact",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "ioError",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "iterate",Value {args = 2, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "last",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "lcm",Value {args = 2, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "length",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "lex",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "lines",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "lookup",Value {args = 2, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "map",Value {args = 2, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "mapM",Value {args = 2, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "mapM_",Value {args = 2, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "maximum",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "maybe",Value {args = 3, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "minimum",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "not",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "notElem",Value {args = 1, fixity = None, priority = 4, letBound = True, traced = False})
(Var "null",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "odd",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "or",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "otherwise",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "print",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "product",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "putChar",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "putStr",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "putStrLn",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "read",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "readFile",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "readIO",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "readLn",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "readParen",Value {args = 2, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "reads",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "realToFrac",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "repeat",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "replicate",Value {args = 2, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "reverse",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "scanl",Value {args = 3, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "scanl1",Value {args = 2, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "scanr",Value {args = 3, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "scanr1",Value {args = 2, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "seq",Value {args = 2, fixity = R, priority = 0, letBound = True, traced = False})
(Var "sequence",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "sequence_",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "showChar",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "showParen",Value {args = 2, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "showString",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "shows",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "snd",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "span",Value {args = 2, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "splitAt",Value {args = 2, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "subtract",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "sum",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "tail",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "take",Value {args = 2, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "takeWhile",Value {args = 2, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "uncurry",Value {args = 2, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "undefined",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "unlines",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "until",Value {args = 3, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "unwords",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "unzip",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "unzip3",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "userError",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "words",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "writeFile",Value {args = 2, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "zip",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "zip3",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "zipWith",Value {args = 3, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "zipWith3",Value {args = 4, fixity = Def, priority = 9, letBound = True, traced = False})
(Var "||",Value {args = 2, fixity = R, priority = 2, letBound = True, traced = False})
(Con Data "()" "()",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Con Data "Bool" "False",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Con Data "Bool" "True",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Con Data "Either" "Left",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Con Data "Either" "Right",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Con Data "Maybe" "Just",Value {args = 1, fixity = Def, priority = 9, letBound = True, traced = False})
(Con Data "Maybe" "Nothing",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Con Data "Ordering" "EQ",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Con Data "Ordering" "GT",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Con Data "Ordering" "LT",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Con Data "Prelude.10" "Prelude.10",Value {args = 10, fixity = Def, priority = 9, letBound = True, traced = False})
(Con Data "Prelude.11" "Prelude.11",Value {args = 11, fixity = Def, priority = 9, letBound = True, traced = False})
(Con Data "Prelude.12" "Prelude.12",Value {args = 12, fixity = Def, priority = 9, letBound = True, traced = False})
(Con Data "Prelude.13" "Prelude.13",Value {args = 13, fixity = Def, priority = 9, letBound = True, traced = False})
(Con Data "Prelude.14" "Prelude.14",Value {args = 14, fixity = Def, priority = 9, letBound = True, traced = False})
(Con Data "Prelude.15" "Prelude.15",Value {args = 15, fixity = Def, priority = 9, letBound = True, traced = False})
(Con Data "Prelude.2" "Prelude.2",Value {args = 2, fixity = Def, priority = 9, letBound = True, traced = False})
(Con Data "Prelude.3" "Prelude.3",Value {args = 3, fixity = Def, priority = 9, letBound = True, traced = False})
(Con Data "Prelude.4" "Prelude.4",Value {args = 4, fixity = Def, priority = 9, letBound = True, traced = False})
(Con Data "Prelude.5" "Prelude.5",Value {args = 5, fixity = Def, priority = 9, letBound = True, traced = False})
(Con Data "Prelude.6" "Prelude.6",Value {args = 6, fixity = Def, priority = 9, letBound = True, traced = False})
(Con Data "Prelude.7" "Prelude.7",Value {args = 7, fixity = Def, priority = 9, letBound = True, traced = False})
(Con Data "Prelude.8" "Prelude.8",Value {args = 8, fixity = Def, priority = 9, letBound = True, traced = False})
(Con Data "Prelude.9" "Prelude.9",Value {args = 9, fixity = Def, priority = 9, letBound = True, traced = False})
(Con Data "[]" ":",Value {args = 2, fixity = R, priority = 5, letBound = True, traced = False})
(Con Data "[]" "[]",Value {args = 0, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Bounded" "maxBound",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Bounded" "minBound",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Enum" "enumFrom",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Enum" "enumFromThen",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Enum" "enumFromThenTo",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Enum" "enumFromTo",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Enum" "fromEnum",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Enum" "pred",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Enum" "succ",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Enum" "toEnum",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Eq" "/=",Value {args = -1, fixity = None, priority = 4, letBound = True, traced = False})
(Method "Eq" "==",Value {args = -1, fixity = None, priority = 4, letBound = True, traced = False})
(Method "Floating" "**",Value {args = -1, fixity = R, priority = 8, letBound = True, traced = False})
(Method "Floating" "acos",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Floating" "acosh",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Floating" "asin",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Floating" "asinh",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Floating" "atan",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Floating" "atanh",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Floating" "cos",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Floating" "cosh",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Floating" "exp",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Floating" "log",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Floating" "logBase",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Floating" "pi",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Floating" "sin",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Floating" "sinh",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Floating" "sqrt",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Floating" "tan",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Floating" "tanh",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Fractional" "/",Value {args = -1, fixity = L, priority = 7, letBound = True, traced = False})
(Method "Fractional" "fromRational",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Fractional" "recip",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Functor" "fmap",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Integral" "div",Value {args = -1, fixity = L, priority = 7, letBound = True, traced = False})
(Method "Integral" "divMod",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Integral" "mod",Value {args = -1, fixity = L, priority = 7, letBound = True, traced = False})
(Method "Integral" "quot",Value {args = -1, fixity = L, priority = 7, letBound = True, traced = False})
(Method "Integral" "quotRem",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Integral" "rem",Value {args = -1, fixity = L, priority = 7, letBound = True, traced = False})
(Method "Integral" "toInteger",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Monad" ">>",Value {args = -1, fixity = L, priority = 1, letBound = True, traced = False})
(Method "Monad" ">>=",Value {args = -1, fixity = L, priority = 1, letBound = True, traced = False})
(Method "Monad" "fail",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Monad" "return",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Num" "*",Value {args = -1, fixity = L, priority = 7, letBound = True, traced = False})
(Method "Num" "+",Value {args = -1, fixity = L, priority = 6, letBound = True, traced = False})
(Method "Num" "-",Value {args = -1, fixity = L, priority = 6, letBound = True, traced = False})
(Method "Num" "abs",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Num" "fromInteger",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Num" "negate",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Num" "signum",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Ord" "<",Value {args = -1, fixity = None, priority = 4, letBound = True, traced = False})
(Method "Ord" "<=",Value {args = -1, fixity = None, priority = 4, letBound = True, traced = False})
(Method "Ord" ">",Value {args = -1, fixity = None, priority = 4, letBound = True, traced = False})
(Method "Ord" ">=",Value {args = -1, fixity = None, priority = 4, letBound = True, traced = False})
(Method "Ord" "compare",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Ord" "max",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Ord" "min",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Read" "readList",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Read" "readsPrec",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Real" "toRational",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "RealFloat" "atan2",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "RealFloat" "decodeFloat",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "RealFloat" "encodeFloat",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "RealFloat" "exponent",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "RealFloat" "floatDigits",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "RealFloat" "floatRadix",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "RealFloat" "floatRange",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "RealFloat" "isDenormalized",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "RealFloat" "isIEEE",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "RealFloat" "isInfinite",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "RealFloat" "isNaN",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "RealFloat" "isNegativeZero",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "RealFloat" "scaleFloat",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "RealFloat" "significand",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "RealFrac" "ceiling",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "RealFrac" "floor",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "RealFrac" "properFraction",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "RealFrac" "round",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "RealFrac" "truncate",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Show" "show",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Show" "showList",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(Method "Show" "showsPrec",Value {args = -1, fixity = Def, priority = 9, letBound = True, traced = False})
(TypeClass "()",TyCls (Ty ["()"] []))
(TypeClass "->",TyCls (Ty [] []))
(TypeClass "Bool",TyCls (Ty ["False","True"] []))
(TypeClass "Bounded",TyCls (Cls ["minBound","maxBound"]))
(TypeClass "Char",TyCls (Ty [] []))
(TypeClass "Double",TyCls (Ty [] []))
(TypeClass "Either",TyCls (Ty ["Left","Right"] []))
(TypeClass "Enum",TyCls (Cls ["succ","pred","toEnum","fromEnum","enumFrom","enumFromThen","enumFromTo","enumFromThenTo"]))
(TypeClass "Eq",TyCls (Cls ["==","/="]))
(TypeClass "FilePath",TyCls (Syn 0 THelper))
(TypeClass "Float",TyCls (Ty [] []))
(TypeClass "Floating",TyCls (Cls ["pi","exp","log","sqrt","**","logBase","sin","cos","tan","asin","acos","atan","sinh","cosh","tanh","asinh","acosh","atanh"]))
(TypeClass "Fractional",TyCls (Cls ["/","recip","fromRational"]))
(TypeClass "Functor",TyCls (Cls ["fmap"]))
(TypeClass "IO",TyCls (Ty [] []))
(TypeClass "IOError",TyCls (Ty [] []))
(TypeClass "Int",TyCls (Ty [] []))
(TypeClass "Integer",TyCls (Ty [] []))
(TypeClass "Integral",TyCls (Cls ["quot","rem","div","mod","quotRem","divMod","toInteger"]))
(TypeClass "Maybe",TyCls (Ty ["Nothing","Just"] []))
(TypeClass "Monad",TyCls (Cls [">>=",">>","return","fail"]))
(TypeClass "Num",TyCls (Cls ["+","-","*","negate","abs","signum","fromInteger"]))
(TypeClass "Ord",TyCls (Cls ["compare","<","<=",">=",">","max","min"]))
(TypeClass "Ordering",TyCls (Ty ["LT","EQ","GT"] []))
(TypeClass "Prelude.10",TyCls (Ty ["Prelude.10"] []))
(TypeClass "Prelude.11",TyCls (Ty ["Prelude.11"] []))
(TypeClass "Prelude.12",TyCls (Ty ["Prelude.12"] []))
(TypeClass "Prelude.13",TyCls (Ty ["Prelude.13"] []))
(TypeClass "Prelude.14",TyCls (Ty ["Prelude.14"] []))
(TypeClass "Prelude.15",TyCls (Ty ["Prelude.15"] []))
(TypeClass "Prelude.2",TyCls (Ty ["Prelude.2"] []))
(TypeClass "Prelude.3",TyCls (Ty ["Prelude.3"] []))
(TypeClass "Prelude.4",TyCls (Ty ["Prelude.4"] []))
(TypeClass "Prelude.5",TyCls (Ty ["Prelude.5"] []))
(TypeClass "Prelude.6",TyCls (Ty ["Prelude.6"] []))
(TypeClass "Prelude.7",TyCls (Ty ["Prelude.7"] []))
(TypeClass "Prelude.8",TyCls (Ty ["Prelude.8"] []))
(TypeClass "Prelude.9",TyCls (Ty ["Prelude.9"] []))
(TypeClass "Rational",TyCls (Syn 0 THelper))
(TypeClass "Read",TyCls (Cls ["readsPrec","readList"]))
(TypeClass "ReadS",TyCls (Syn 2 (TApp (TApp TFun THelper) THelper)))
(TypeClass "Real",TyCls (Cls ["toRational"]))
(TypeClass "RealFloat",TyCls (Cls ["floatRadix","floatDigits","floatRange","decodeFloat","encodeFloat","exponent","significand","scaleFloat","isNaN","isInfinite","isDenormalized","isNegativeZero","isIEEE","atan2"]))
(TypeClass "RealFrac",TyCls (Cls ["properFraction","truncate","round","ceiling","floor"]))
(TypeClass "Show",TyCls (Cls ["showsPrec","show","showList"]))
(TypeClass "ShowS",TyCls (Syn 2 (TApp (TApp TFun THelper) THelper)))
(TypeClass "String",TyCls (Ty [] []))
(TypeClass "[]",TyCls (Ty ["[]",":"] []))
