-----------------------------------------------------------------------
-- This module is automatically generated by the GHC utility
-- "genprimopcode". Do not edit!
-----------------------------------------------------------------------
module Language.Core.PrimEnv(primTcs, primVals, intLitTypes, ratLitTypes,
 charLitTypes, stringLitTypes) where
import Language.Core.Core
import Language.Core.Encoding

primTcs :: [(Tcon, Kind)]
primTcs = [
      (zEncodeString "Char#", Kunlifted),
      (zEncodeString "Int#", Kunlifted),
      (zEncodeString "Word#", Kunlifted),
      (zEncodeString "Int64#", Kunlifted),
      (zEncodeString "Word64#", Kunlifted),
      (zEncodeString "Double#", Kunlifted),
      (zEncodeString "Float#", Kunlifted),
      (zEncodeString "Array#", (Karrow Klifted Kunlifted)),
      (zEncodeString "MutableArray#", (Karrow Klifted (Karrow Klifted Kunlifted))),
      (zEncodeString "ByteArray#", Kunlifted),
      (zEncodeString "MutableByteArray#", (Karrow Klifted Kunlifted)),
      (zEncodeString "Addr#", Kunlifted),
      (zEncodeString "MutVar#", (Karrow Klifted (Karrow Klifted Kunlifted))),
      (zEncodeString "TVar#", (Karrow Klifted (Karrow Klifted Kunlifted))),
      (zEncodeString "MVar#", (Karrow Klifted (Karrow Klifted Kunlifted))),
      (zEncodeString "State#", (Karrow Klifted Kunlifted)),
      (zEncodeString "RealWorld", Klifted),
      (zEncodeString "ThreadId#", Kunlifted),
      (zEncodeString "Weak#", (Karrow Klifted Kunlifted)),
      (zEncodeString "StablePtr#", (Karrow Klifted Kunlifted)),
      (zEncodeString "StableName#", (Karrow Klifted Kunlifted)),
      (zEncodeString "BCO#", Kunlifted),
      (zEncodeString "Any", Klifted)   ]
primVals :: [(Var, Ty)]
primVals = [
      (zEncodeString "gtChar#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Char#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Char#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "geChar#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Char#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Char#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "eqChar#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Char#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Char#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "neChar#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Char#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Char#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "ltChar#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Char#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Char#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "leChar#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Char#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Char#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "ord#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Char#")))) ((Tcon (Just primMname, zEncodeString "Int#")))),
      (zEncodeString "+#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int#"))))),
      (zEncodeString "-#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int#"))))),
      (zEncodeString "*#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int#"))))),
      (zEncodeString "mulIntMayOflo#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int#"))))),
      (zEncodeString "quotInt#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int#"))))),
      (zEncodeString "remInt#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int#"))))),
      (zEncodeString "gcdInt#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int#"))))),
      (zEncodeString "negateInt#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int#")))),
      (zEncodeString "addIntC#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int#"))))))),
      (zEncodeString "subIntC#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int#"))))))),
      (zEncodeString ">#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString ">=#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "==#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "/=#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "<#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "<=#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "chr#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Char#")))),
      (zEncodeString "int2Word#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Word#")))),
      (zEncodeString "int2Float#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Float#")))),
      (zEncodeString "int2Double#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Double#")))),
      (zEncodeString "int2Integer#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "ByteArray#")))))),
      (zEncodeString "uncheckedIShiftL#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int#"))))),
      (zEncodeString "uncheckedIShiftRA#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int#"))))),
      (zEncodeString "uncheckedIShiftRL#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int#"))))),
      (zEncodeString "plusWord#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) ((Tcon (Just primMname, zEncodeString "Word#"))))),
      (zEncodeString "minusWord#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) ((Tcon (Just primMname, zEncodeString "Word#"))))),
      (zEncodeString "timesWord#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) ((Tcon (Just primMname, zEncodeString "Word#"))))),
      (zEncodeString "quotWord#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) ((Tcon (Just primMname, zEncodeString "Word#"))))),
      (zEncodeString "remWord#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) ((Tcon (Just primMname, zEncodeString "Word#"))))),
      (zEncodeString "and#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) ((Tcon (Just primMname, zEncodeString "Word#"))))),
      (zEncodeString "or#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) ((Tcon (Just primMname, zEncodeString "Word#"))))),
      (zEncodeString "xor#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) ((Tcon (Just primMname, zEncodeString "Word#"))))),
      (zEncodeString "not#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) ((Tcon (Just primMname, zEncodeString "Word#")))),
      (zEncodeString "uncheckedShiftL#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Word#"))))),
      (zEncodeString "uncheckedShiftRL#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Word#"))))),
      (zEncodeString "word2Int#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) ((Tcon (Just primMname, zEncodeString "Int#")))),
      (zEncodeString "word2Integer#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "ByteArray#")))))),
      (zEncodeString "gtWord#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "geWord#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "eqWord#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "neWord#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "ltWord#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "leWord#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "narrow8Int#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int#")))),
      (zEncodeString "narrow16Int#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int#")))),
      (zEncodeString "narrow32Int#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int#")))),
      (zEncodeString "narrow8Word#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) ((Tcon (Just primMname, zEncodeString "Word#")))),
      (zEncodeString "narrow16Word#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) ((Tcon (Just primMname, zEncodeString "Word#")))),
      (zEncodeString "narrow32Word#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) ((Tcon (Just primMname, zEncodeString "Word#")))),
      (zEncodeString "int64ToInteger#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int64#")))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "ByteArray#")))))),
      (zEncodeString "word64ToInteger#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word64#")))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "ByteArray#")))))),
      (zEncodeString "plusInteger#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "ByteArray#"))))))))),
      (zEncodeString "minusInteger#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "ByteArray#"))))))))),
      (zEncodeString "timesInteger#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "ByteArray#"))))))))),
      (zEncodeString "gcdInteger#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "ByteArray#"))))))))),
      (zEncodeString "gcdIntegerInt#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int#")))))),
      (zEncodeString "divExactInteger#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "ByteArray#"))))))))),
      (zEncodeString "quotInteger#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "ByteArray#"))))))))),
      (zEncodeString "remInteger#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "ByteArray#"))))))))),
      (zEncodeString "cmpInteger#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) ((Tcon (Just primMname, zEncodeString "Int#"))))))),
      (zEncodeString "cmpIntegerInt#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int#")))))),
      (zEncodeString "quotRemInteger#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) ((Tapp (Tapp (Tapp (Tapp (Tcon (Just primMname, "Z4H")) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "ByteArray#"))))))))),
      (zEncodeString "divModInteger#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) ((Tapp (Tapp (Tapp (Tapp (Tcon (Just primMname, "Z4H")) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "ByteArray#"))))))))),
      (zEncodeString "integer2Int#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) ((Tcon (Just primMname, zEncodeString "Int#"))))),
      (zEncodeString "integer2Word#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) ((Tcon (Just primMname, zEncodeString "Word#"))))),
      (zEncodeString "andInteger#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "ByteArray#"))))))))),
      (zEncodeString "orInteger#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "ByteArray#"))))))))),
      (zEncodeString "xorInteger#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "ByteArray#"))))))))),
      (zEncodeString "complementInteger#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "ByteArray#"))))))),
      (zEncodeString ">##", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString ">=##", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "==##", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "/=##", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "<##", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "<=##", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "+##", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) ((Tcon (Just primMname, zEncodeString "Double#"))))),
      (zEncodeString "-##", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) ((Tcon (Just primMname, zEncodeString "Double#"))))),
      (zEncodeString "*##", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) ((Tcon (Just primMname, zEncodeString "Double#"))))),
      (zEncodeString "/##", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) ((Tcon (Just primMname, zEncodeString "Double#"))))),
      (zEncodeString "negateDouble#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) ((Tcon (Just primMname, zEncodeString "Double#")))),
      (zEncodeString "double2Int#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) ((Tcon (Just primMname, zEncodeString "Int#")))),
      (zEncodeString "double2Float#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) ((Tcon (Just primMname, zEncodeString "Float#")))),
      (zEncodeString "expDouble#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) ((Tcon (Just primMname, zEncodeString "Double#")))),
      (zEncodeString "logDouble#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) ((Tcon (Just primMname, zEncodeString "Double#")))),
      (zEncodeString "sqrtDouble#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) ((Tcon (Just primMname, zEncodeString "Double#")))),
      (zEncodeString "sinDouble#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) ((Tcon (Just primMname, zEncodeString "Double#")))),
      (zEncodeString "cosDouble#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) ((Tcon (Just primMname, zEncodeString "Double#")))),
      (zEncodeString "tanDouble#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) ((Tcon (Just primMname, zEncodeString "Double#")))),
      (zEncodeString "asinDouble#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) ((Tcon (Just primMname, zEncodeString "Double#")))),
      (zEncodeString "acosDouble#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) ((Tcon (Just primMname, zEncodeString "Double#")))),
      (zEncodeString "atanDouble#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) ((Tcon (Just primMname, zEncodeString "Double#")))),
      (zEncodeString "sinhDouble#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) ((Tcon (Just primMname, zEncodeString "Double#")))),
      (zEncodeString "coshDouble#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) ((Tcon (Just primMname, zEncodeString "Double#")))),
      (zEncodeString "tanhDouble#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) ((Tcon (Just primMname, zEncodeString "Double#")))),
      (zEncodeString "**##", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) ((Tcon (Just primMname, zEncodeString "Double#"))))),
      (zEncodeString "decodeDouble#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) ((Tapp (Tapp (Tapp (Tcon (Just primMname, "Z3H")) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "ByteArray#")))))),
      (zEncodeString "gtFloat#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "geFloat#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "eqFloat#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "neFloat#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "ltFloat#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "leFloat#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "plusFloat#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) ((Tcon (Just primMname, zEncodeString "Float#"))))),
      (zEncodeString "minusFloat#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) ((Tcon (Just primMname, zEncodeString "Float#"))))),
      (zEncodeString "timesFloat#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) ((Tcon (Just primMname, zEncodeString "Float#"))))),
      (zEncodeString "divideFloat#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) ((Tcon (Just primMname, zEncodeString "Float#"))))),
      (zEncodeString "negateFloat#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) ((Tcon (Just primMname, zEncodeString "Float#")))),
      (zEncodeString "float2Int#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) ((Tcon (Just primMname, zEncodeString "Int#")))),
      (zEncodeString "expFloat#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) ((Tcon (Just primMname, zEncodeString "Float#")))),
      (zEncodeString "logFloat#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) ((Tcon (Just primMname, zEncodeString "Float#")))),
      (zEncodeString "sqrtFloat#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) ((Tcon (Just primMname, zEncodeString "Float#")))),
      (zEncodeString "sinFloat#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) ((Tcon (Just primMname, zEncodeString "Float#")))),
      (zEncodeString "cosFloat#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) ((Tcon (Just primMname, zEncodeString "Float#")))),
      (zEncodeString "tanFloat#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) ((Tcon (Just primMname, zEncodeString "Float#")))),
      (zEncodeString "asinFloat#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) ((Tcon (Just primMname, zEncodeString "Float#")))),
      (zEncodeString "acosFloat#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) ((Tcon (Just primMname, zEncodeString "Float#")))),
      (zEncodeString "atanFloat#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) ((Tcon (Just primMname, zEncodeString "Float#")))),
      (zEncodeString "sinhFloat#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) ((Tcon (Just primMname, zEncodeString "Float#")))),
      (zEncodeString "coshFloat#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) ((Tcon (Just primMname, zEncodeString "Float#")))),
      (zEncodeString "tanhFloat#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) ((Tcon (Just primMname, zEncodeString "Float#")))),
      (zEncodeString "powerFloat#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) ((Tcon (Just primMname, zEncodeString "Float#"))))),
      (zEncodeString "float2Double#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) ((Tcon (Just primMname, zEncodeString "Double#")))),
      (zEncodeString "decodeFloat#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) ((Tapp (Tapp (Tapp (Tcon (Just primMname, "Z3H")) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "ByteArray#")))))),
      (zEncodeString "newArray#", Tforall ("a", Klifted) (Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, zEncodeString "MutableArray#")) ((Tvar "s"))) ((Tvar "a"))))))))))),
      (zEncodeString "sameMutableArray#", Tforall ("s", Klifted) (Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tapp (Tcon (Just primMname, zEncodeString "MutableArray#")) ((Tvar "s"))) ((Tvar "a"))))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tapp (Tcon (Just primMname, zEncodeString "MutableArray#")) ((Tvar "s"))) ((Tvar "a"))))) ((Tcon (Just boolMname, zEncodeString "Bool"))))))),
      (zEncodeString "readArray#", Tforall ("s", Klifted) (Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tapp (Tcon (Just primMname, zEncodeString "MutableArray#")) ((Tvar "s"))) ((Tvar "a"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tvar "a"))))))))),
      (zEncodeString "writeArray#", Tforall ("s", Klifted) (Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tapp (Tcon (Just primMname, zEncodeString "MutableArray#")) ((Tvar "s"))) ((Tvar "a"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s")))))))))),
      (zEncodeString "indexArray#", Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "Array#")) ((Tvar "a"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tapp (Tcon (Just primMname, "Z1H")) ((Tvar "a"))))))),
      (zEncodeString "unsafeFreezeArray#", Tforall ("s", Klifted) (Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tapp (Tcon (Just primMname, zEncodeString "MutableArray#")) ((Tvar "s"))) ((Tvar "a"))))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "Array#")) ((Tvar "a")))))))))),
      (zEncodeString "unsafeThawArray#", Tforall ("a", Klifted) (Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "Array#")) ((Tvar "a"))))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, zEncodeString "MutableArray#")) ((Tvar "s"))) ((Tvar "a")))))))))),
      (zEncodeString "newByteArray#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))))))),
      (zEncodeString "newPinnedByteArray#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))))))),
      (zEncodeString "byteArrayContents#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) ((Tcon (Just primMname, zEncodeString "Addr#")))),
      (zEncodeString "sameMutableByteArray#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) ((Tcon (Just boolMname, zEncodeString "Bool")))))),
      (zEncodeString "unsafeFreezeByteArray#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "ByteArray#")))))))),
      (zEncodeString "sizeofByteArray#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) ((Tcon (Just primMname, zEncodeString "Int#")))),
      (zEncodeString "sizeofMutableByteArray#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Int#"))))),
      (zEncodeString "indexCharArray#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Char#"))))),
      (zEncodeString "indexWideCharArray#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Char#"))))),
      (zEncodeString "indexIntArray#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int#"))))),
      (zEncodeString "indexWordArray#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Word#"))))),
      (zEncodeString "indexAddrArray#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Addr#"))))),
      (zEncodeString "indexFloatArray#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Float#"))))),
      (zEncodeString "indexDoubleArray#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Double#"))))),
      (zEncodeString "indexStablePtrArray#", Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tapp (Tcon (Just primMname, zEncodeString "StablePtr#")) ((Tvar "a"))))))),
      (zEncodeString "indexInt8Array#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int#"))))),
      (zEncodeString "indexInt16Array#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int#"))))),
      (zEncodeString "indexInt32Array#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int#"))))),
      (zEncodeString "indexInt64Array#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int64#"))))),
      (zEncodeString "indexWord8Array#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Word#"))))),
      (zEncodeString "indexWord16Array#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Word#"))))),
      (zEncodeString "indexWord32Array#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Word#"))))),
      (zEncodeString "indexWord64Array#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Word64#"))))),
      (zEncodeString "readCharArray#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Char#"))))))))),
      (zEncodeString "readWideCharArray#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Char#"))))))))),
      (zEncodeString "readIntArray#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Int#"))))))))),
      (zEncodeString "readWordArray#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Word#"))))))))),
      (zEncodeString "readAddrArray#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Addr#"))))))))),
      (zEncodeString "readFloatArray#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Float#"))))))))),
      (zEncodeString "readDoubleArray#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Double#"))))))))),
      (zEncodeString "readStablePtrArray#", Tforall ("s", Klifted) (Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "StablePtr#")) ((Tvar "a"))))))))))),
      (zEncodeString "readInt8Array#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Int#"))))))))),
      (zEncodeString "readInt16Array#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Int#"))))))))),
      (zEncodeString "readInt32Array#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Int#"))))))))),
      (zEncodeString "readInt64Array#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Int64#"))))))))),
      (zEncodeString "readWord8Array#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Word#"))))))))),
      (zEncodeString "readWord16Array#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Word#"))))))))),
      (zEncodeString "readWord32Array#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Word#"))))))))),
      (zEncodeString "readWord64Array#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Word64#"))))))))),
      (zEncodeString "writeCharArray#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Char#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "writeWideCharArray#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Char#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "writeIntArray#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "writeWordArray#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "writeAddrArray#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "writeFloatArray#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "writeDoubleArray#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "writeStablePtrArray#", Tforall ("s", Klifted) (Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "StablePtr#")) ((Tvar "a"))))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s")))))))))),
      (zEncodeString "writeInt8Array#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "writeInt16Array#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "writeInt32Array#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "writeInt64Array#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int64#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "writeWord8Array#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "writeWord16Array#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "writeWord32Array#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "writeWord64Array#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "MutableByteArray#")) ((Tvar "s"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word64#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "nullAddr#", (Tcon (Just primMname, zEncodeString "Addr#"))),
      (zEncodeString "plusAddr#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Addr#"))))),
      (zEncodeString "minusAddr#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) ((Tcon (Just primMname, zEncodeString "Int#"))))),
      (zEncodeString "remAddr#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int#"))))),
      (zEncodeString "addr2Int#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) ((Tcon (Just primMname, zEncodeString "Int#")))),
      (zEncodeString "int2Addr#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Addr#")))),
      (zEncodeString "gtAddr#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "geAddr#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "eqAddr#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "neAddr#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "ltAddr#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "leAddr#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) ((Tcon (Just boolMname, zEncodeString "Bool"))))),
      (zEncodeString "indexCharOffAddr#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Char#"))))),
      (zEncodeString "indexWideCharOffAddr#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Char#"))))),
      (zEncodeString "indexIntOffAddr#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int#"))))),
      (zEncodeString "indexWordOffAddr#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Word#"))))),
      (zEncodeString "indexAddrOffAddr#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Addr#"))))),
      (zEncodeString "indexFloatOffAddr#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Float#"))))),
      (zEncodeString "indexDoubleOffAddr#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Double#"))))),
      (zEncodeString "indexStablePtrOffAddr#", Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tapp (Tcon (Just primMname, zEncodeString "StablePtr#")) ((Tvar "a"))))))),
      (zEncodeString "indexInt8OffAddr#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int#"))))),
      (zEncodeString "indexInt16OffAddr#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int#"))))),
      (zEncodeString "indexInt32OffAddr#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int#"))))),
      (zEncodeString "indexInt64OffAddr#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Int64#"))))),
      (zEncodeString "indexWord8OffAddr#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Word#"))))),
      (zEncodeString "indexWord16OffAddr#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Word#"))))),
      (zEncodeString "indexWord32OffAddr#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Word#"))))),
      (zEncodeString "indexWord64OffAddr#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tcon (Just primMname, zEncodeString "Word64#"))))),
      (zEncodeString "readCharOffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Char#"))))))))),
      (zEncodeString "readWideCharOffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Char#"))))))))),
      (zEncodeString "readIntOffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Int#"))))))))),
      (zEncodeString "readWordOffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Word#"))))))))),
      (zEncodeString "readAddrOffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Addr#"))))))))),
      (zEncodeString "readFloatOffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Float#"))))))))),
      (zEncodeString "readDoubleOffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Double#"))))))))),
      (zEncodeString "readStablePtrOffAddr#", Tforall ("s", Klifted) (Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "StablePtr#")) ((Tvar "a"))))))))))),
      (zEncodeString "readInt8OffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Int#"))))))))),
      (zEncodeString "readInt16OffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Int#"))))))))),
      (zEncodeString "readInt32OffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Int#"))))))))),
      (zEncodeString "readInt64OffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Int64#"))))))))),
      (zEncodeString "readWord8OffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Word#"))))))))),
      (zEncodeString "readWord16OffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Word#"))))))))),
      (zEncodeString "readWord32OffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Word#"))))))))),
      (zEncodeString "readWord64OffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Word64#"))))))))),
      (zEncodeString "writeCharOffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Char#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "writeWideCharOffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Char#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "writeIntOffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "writeWordOffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "writeAddrOffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "writeFloatOffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Float#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "writeDoubleOffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Double#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "writeStablePtrOffAddr#", Tforall ("a", Klifted) (Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "StablePtr#")) ((Tvar "a"))))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s")))))))))),
      (zEncodeString "writeInt8OffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "writeInt16OffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "writeInt32OffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "writeInt64OffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int64#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "writeWord8OffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "writeWord16OffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "writeWord32OffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "writeWord64OffAddr#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Word64#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "newMutVar#", Tforall ("a", Klifted) (Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, zEncodeString "MutVar#")) ((Tvar "s"))) ((Tvar "a")))))))))),
      (zEncodeString "readMutVar#", Tforall ("s", Klifted) (Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tapp (Tcon (Just primMname, zEncodeString "MutVar#")) ((Tvar "s"))) ((Tvar "a"))))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tvar "a")))))))),
      (zEncodeString "writeMutVar#", Tforall ("s", Klifted) (Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tapp (Tcon (Just primMname, zEncodeString "MutVar#")) ((Tvar "s"))) ((Tvar "a"))))) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "sameMutVar#", Tforall ("s", Klifted) (Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tapp (Tcon (Just primMname, zEncodeString "MutVar#")) ((Tvar "s"))) ((Tvar "a"))))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tapp (Tcon (Just primMname, zEncodeString "MutVar#")) ((Tvar "s"))) ((Tvar "a"))))) ((Tcon (Just boolMname, zEncodeString "Bool"))))))),
      (zEncodeString "atomicModifyMutVar#", Tforall ("s", Klifted) (Tforall ("a", Klifted) (Tforall ("b", Klifted) (Tforall ("c", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tapp (Tcon (Just primMname, zEncodeString "MutVar#")) ((Tvar "s"))) ((Tvar "a"))))) (Tapp (Tapp (Tcon tcArrow) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) ((Tvar "b")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tvar "c"))))))))))),
      (zEncodeString "catch#", Tforall ("a", Klifted) (Tforall ("b", Klifted) (Tapp (Tapp (Tcon tcArrow) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tvar "a")))))) (Tapp (Tapp (Tcon tcArrow) (Tapp (Tapp (Tcon tcArrow) ((Tvar "b"))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tvar "a"))))))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tvar "a"))))))))),
      (zEncodeString "raise#", Tforall ("a", Klifted) (Tforall ("b", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) ((Tvar "b"))))),
      (zEncodeString "raiseIO#", Tforall ("a", Klifted) (Tforall ("b", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tvar "b")))))))),
      (zEncodeString "blockAsyncExceptions#", Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tvar "a")))))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tvar "a"))))))),
      (zEncodeString "unblockAsyncExceptions#", Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tvar "a")))))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tvar "a"))))))),
      (zEncodeString "atomically#", Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tvar "a")))))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tvar "a"))))))),
      (zEncodeString "retry#", Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tvar "a")))))),
      (zEncodeString "catchRetry#", Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tvar "a")))))) (Tapp (Tapp (Tcon tcArrow) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tvar "a")))))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tvar "a")))))))),
      (zEncodeString "catchSTM#", Tforall ("a", Klifted) (Tforall ("b", Klifted) (Tapp (Tapp (Tcon tcArrow) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tvar "a")))))) (Tapp (Tapp (Tcon tcArrow) (Tapp (Tapp (Tcon tcArrow) ((Tvar "b"))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tvar "a"))))))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tvar "a"))))))))),
      (zEncodeString "check#", Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tvar "a")))))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tcon (Just baseMname, zEncodeString "()")))))))),
      (zEncodeString "newTVar#", Tforall ("a", Klifted) (Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, zEncodeString "TVar#")) ((Tvar "s"))) ((Tvar "a")))))))))),
      (zEncodeString "readTVar#", Tforall ("s", Klifted) (Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tapp (Tcon (Just primMname, zEncodeString "TVar#")) ((Tvar "s"))) ((Tvar "a"))))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tvar "a")))))))),
      (zEncodeString "writeTVar#", Tforall ("s", Klifted) (Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tapp (Tcon (Just primMname, zEncodeString "TVar#")) ((Tvar "s"))) ((Tvar "a"))))) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "sameTVar#", Tforall ("s", Klifted) (Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tapp (Tcon (Just primMname, zEncodeString "TVar#")) ((Tvar "s"))) ((Tvar "a"))))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tapp (Tcon (Just primMname, zEncodeString "TVar#")) ((Tvar "s"))) ((Tvar "a"))))) ((Tcon (Just boolMname, zEncodeString "Bool"))))))),
      (zEncodeString "newMVar#", Tforall ("s", Klifted) (Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, zEncodeString "MVar#")) ((Tvar "s"))) ((Tvar "a"))))))))),
      (zEncodeString "takeMVar#", Tforall ("s", Klifted) (Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tapp (Tcon (Just primMname, zEncodeString "MVar#")) ((Tvar "s"))) ((Tvar "a"))))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tvar "a")))))))),
      (zEncodeString "tryTakeMVar#", Tforall ("s", Klifted) (Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tapp (Tcon (Just primMname, zEncodeString "MVar#")) ((Tvar "s"))) ((Tvar "a"))))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tapp (Tcon (Just primMname, "Z3H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tvar "a")))))))),
      (zEncodeString "putMVar#", Tforall ("s", Klifted) (Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tapp (Tcon (Just primMname, zEncodeString "MVar#")) ((Tvar "s"))) ((Tvar "a"))))) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))))),
      (zEncodeString "tryPutMVar#", Tforall ("s", Klifted) (Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tapp (Tcon (Just primMname, zEncodeString "MVar#")) ((Tvar "s"))) ((Tvar "a"))))) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Int#")))))))))),
      (zEncodeString "sameMVar#", Tforall ("s", Klifted) (Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tapp (Tcon (Just primMname, zEncodeString "MVar#")) ((Tvar "s"))) ((Tvar "a"))))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tapp (Tcon (Just primMname, zEncodeString "MVar#")) ((Tvar "s"))) ((Tvar "a"))))) ((Tcon (Just boolMname, zEncodeString "Bool"))))))),
      (zEncodeString "isEmptyMVar#", Tforall ("s", Klifted) (Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tapp (Tcon (Just primMname, zEncodeString "MVar#")) ((Tvar "s"))) ((Tvar "a"))))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "Int#"))))))))),
      (zEncodeString "delay#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))),
      (zEncodeString "waitRead#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))),
      (zEncodeString "waitWrite#", Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))))),
      (zEncodeString "fork#", Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tcon (Just primMname, zEncodeString "ThreadId#")))))))),
      (zEncodeString "forkOn#", Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tcon (Just primMname, zEncodeString "ThreadId#"))))))))),
      (zEncodeString "killThread#", Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ThreadId#")))) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld"))))))))),
      (zEncodeString "yield#", Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))),
      (zEncodeString "myThreadId#", Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tcon (Just primMname, zEncodeString "ThreadId#")))))),
      (zEncodeString "labelThread#", Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ThreadId#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))))),
      (zEncodeString "isCurrentThreadBound#", Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tcon (Just primMname, zEncodeString "Int#")))))),
      (zEncodeString "noDuplicate#", Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))),
      (zEncodeString "mkWeak#", Tforall ("o", Kopen) (Tforall ("b", Klifted) (Tforall ("c", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tvar "o"))) (Tapp (Tapp (Tcon tcArrow) ((Tvar "b"))) (Tapp (Tapp (Tcon tcArrow) ((Tvar "c"))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tcon (Just primMname, zEncodeString "Weak#")) ((Tvar "b"))))))))))))),
      (zEncodeString "deRefWeak#", Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "Weak#")) ((Tvar "a"))))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tapp (Tcon (Just primMname, "Z3H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tvar "a"))))))),
      (zEncodeString "finalizeWeak#", Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "Weak#")) ((Tvar "a"))))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tapp (Tcon (Just primMname, "Z3H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tcon (Just baseMname, zEncodeString "()"))))))))))),
      (zEncodeString "touch#", Tforall ("o", Kopen) (Tapp (Tapp (Tcon tcArrow) ((Tvar "o"))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))))),
      (zEncodeString "makeStablePtr#", Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tcon (Just primMname, zEncodeString "StablePtr#")) ((Tvar "a"))))))))),
      (zEncodeString "deRefStablePtr#", Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "StablePtr#")) ((Tvar "a"))))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tvar "a"))))))),
      (zEncodeString "eqStablePtr#", Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "StablePtr#")) ((Tvar "a"))))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "StablePtr#")) ((Tvar "a"))))) ((Tcon (Just primMname, zEncodeString "Int#")))))),
      (zEncodeString "makeStableName#", Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tcon (Just primMname, zEncodeString "RealWorld")))))) ((Tapp (Tcon (Just primMname, zEncodeString "StableName#")) ((Tvar "a"))))))))),
      (zEncodeString "eqStableName#", Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "StableName#")) ((Tvar "a"))))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "StableName#")) ((Tvar "a"))))) ((Tcon (Just primMname, zEncodeString "Int#")))))),
      (zEncodeString "stableNameToInt#", Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "StableName#")) ((Tvar "a"))))) ((Tcon (Just primMname, zEncodeString "Int#"))))),
      (zEncodeString "reallyUnsafePtrEquality#", Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) ((Tcon (Just primMname, zEncodeString "Int#")))))),
      (zEncodeString "par#", Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) ((Tcon (Just primMname, zEncodeString "Int#"))))),
      (zEncodeString "parGlobal#", Tforall ("a", Klifted) (Tforall ("b", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tvar "b"))) ((Tcon (Just primMname, zEncodeString "Int#"))))))))))),
      (zEncodeString "parLocal#", Tforall ("a", Klifted) (Tforall ("b", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tvar "b"))) ((Tcon (Just primMname, zEncodeString "Int#"))))))))))),
      (zEncodeString "parAt#", Tforall ("b", Klifted) (Tforall ("a", Klifted) (Tforall ("c", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tvar "b"))) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tvar "c"))) ((Tcon (Just primMname, zEncodeString "Int#"))))))))))))),
      (zEncodeString "parAtAbs#", Tforall ("a", Klifted) (Tforall ("b", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tvar "b"))) ((Tcon (Just primMname, zEncodeString "Int#")))))))))))),
      (zEncodeString "parAtRel#", Tforall ("a", Klifted) (Tforall ("b", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tvar "b"))) ((Tcon (Just primMname, zEncodeString "Int#")))))))))))),
      (zEncodeString "parAtForNow#", Tforall ("b", Klifted) (Tforall ("a", Klifted) (Tforall ("c", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tvar "b"))) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tvar "c"))) ((Tcon (Just primMname, zEncodeString "Int#"))))))))))))),
      (zEncodeString "dataToTag#", Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) ((Tcon (Just primMname, zEncodeString "Int#"))))),
      (zEncodeString "tagToEnum#", Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tvar "a")))),
      (zEncodeString "addrToHValue#", Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Addr#")))) ((Tapp (Tcon (Just primMname, "Z1H")) ((Tvar "a")))))),
      (zEncodeString "mkApUpd0#", Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "BCO#")))) ((Tapp (Tcon (Just primMname, "Z1H")) ((Tvar "a")))))),
      (zEncodeString "newBCO#", Tforall ("a", Klifted) (Tforall ("s", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "Array#")) ((Tvar "a"))))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "ByteArray#")))) (Tapp (Tapp (Tcon tcArrow) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tapp (Tcon (Just primMname, zEncodeString "State#")) ((Tvar "s"))))) ((Tcon (Just primMname, zEncodeString "BCO#"))))))))))))),
      (zEncodeString "unpackClosure#", Tforall ("a", Klifted) (Tforall ("b", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) ((Tapp (Tapp (Tapp (Tcon (Just primMname, "Z3H")) ((Tcon (Just primMname, zEncodeString "Addr#")))) ((Tapp (Tcon (Just primMname, zEncodeString "Array#")) ((Tvar "b"))))) ((Tcon (Just primMname, zEncodeString "ByteArray#")))))))),
      (zEncodeString "getApStackVal#", Tforall ("a", Klifted) (Tforall ("b", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) (Tapp (Tapp (Tcon tcArrow) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tapp (Tapp (Tcon (Just primMname, "Z2H")) ((Tcon (Just primMname, zEncodeString "Int#")))) ((Tvar "b")))))))),
      (zEncodeString "seq", Tforall ("a", Klifted) (Tforall ("b", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) (Tapp (Tapp (Tcon tcArrow) ((Tvar "b"))) ((Tvar "b")))))),
      (zEncodeString "inline", Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) ((Tvar "a")))),
      (zEncodeString "lazy", Tforall ("a", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) ((Tvar "a")))),
      (zEncodeString "unsafeCoerce#", Tforall ("a", Klifted) (Tforall ("b", Klifted) (Tapp (Tapp (Tcon tcArrow) ((Tvar "a"))) ((Tvar "b")))))]
intLitTypes :: [Ty]
intLitTypes = [
   (Tcon (Just primMname, zEncodeString "Char#")),
   (Tcon (Just primMname, zEncodeString "Int#")),
   (Tcon (Just primMname, zEncodeString "Word#")),
   (Tcon (Just primMname, zEncodeString "Int64#")),
   (Tcon (Just primMname, zEncodeString "Word64#")),
   (Tcon (Just primMname, zEncodeString "Addr#"))]
ratLitTypes :: [Ty]
ratLitTypes = [
   (Tcon (Just primMname, zEncodeString "Double#")),
   (Tcon (Just primMname, zEncodeString "Float#"))]
charLitTypes :: [Ty]
charLitTypes = [
   (Tcon (Just primMname, zEncodeString "Char#"))]
stringLitTypes :: [Ty]
stringLitTypes = [
   (Tcon (Just primMname, zEncodeString "Addr#"))]

