Skip to content
Snippets Groups Projects
base-exports.stdout-javascript-unknown-ghcjs 919 KiB
Newer Older
11001 11002 11003 11004 11005 11006 11007 11008 11009 11010 11011 11012 11013 11014 11015 11016 11017 11018 11019 11020 11021 11022 11023 11024 11025 11026 11027 11028 11029 11030 11031 11032 11033 11034 11035 11036 11037 11038 11039 11040 11041 11042 11043 11044 11045 11046 11047 11048 11049 11050 11051 11052 11053 11054 11055 11056 11057 11058 11059 11060 11061 11062 11063 11064 11065 11066 11067 11068 11069 11070 11071 11072 11073 11074 11075 11076 11077 11078 11079 11080 11081 11082 11083 11084 11085 11086 11087 11088 11089 11090 11091 11092 11093 11094 11095 11096 11097 11098 11099 11100 11101 11102 11103 11104 11105 11106 11107 11108 11109 11110 11111 11112 11113 11114 11115 11116 11117 11118 11119 11120 11121 11122 11123 11124 11125 11126 11127 11128 11129 11130 11131 11132 11133 11134 11135 11136 11137 11138 11139 11140 11141 11142 11143 11144 11145 11146 11147 11148 11149 11150 11151 11152 11153 11154 11155 11156 11157 11158 11159 11160 11161 11162 11163 11164 11165 11166 11167 11168 11169 11170 11171 11172 11173 11174 11175 11176 11177 11178 11179 11180 11181 11182 11183 11184 11185 11186 11187 11188 11189 11190 11191 11192 11193 11194 11195 11196 11197 11198 11199 11200 11201 11202 11203 11204 11205 11206 11207 11208 11209 11210 11211 11212 11213 11214 11215 11216 11217 11218 11219 11220 11221 11222 11223 11224 11225 11226 11227 11228 11229 11230 11231 11232 11233 11234 11235 11236 11237 11238 11239 11240 11241 11242 11243 11244 11245 11246 11247 11248 11249 11250 11251 11252 11253 11254 11255 11256 11257 11258 11259 11260 11261 11262 11263 11264 11265 11266 11267 11268 11269 11270 11271 11272 11273 11274 11275 11276 11277 11278 11279 11280 11281 11282 11283 11284 11285 11286 11287 11288 11289 11290 11291 11292 11293 11294 11295 11296 11297 11298 11299 11300 11301 11302 11303 11304 11305 11306 11307 11308 11309 11310 11311 11312 11313 11314 11315 11316 11317 11318 11319 11320 11321 11322 11323 11324 11325 11326 11327 11328 11329 11330 11331 11332 11333 11334 11335 11336 11337 11338 11339 11340 11341 11342 11343 11344 11345 11346 11347 11348 11349 11350 11351 11352 11353 11354 11355 11356 11357 11358 11359 11360 11361 11362 11363 11364 11365 11366 11367 11368 11369 11370 11371 11372 11373 11374 11375 11376 11377 11378 11379 11380 11381 11382 11383 11384 11385 11386 11387 11388 11389 11390 11391 11392 11393 11394 11395 11396 11397 11398 11399 11400 11401 11402 11403 11404 11405 11406 11407 11408 11409 11410 11411 11412 11413 11414 11415 11416 11417 11418 11419 11420 11421 11422 11423 11424 11425 11426 11427 11428 11429 11430 11431 11432 11433 11434 11435 11436 11437 11438 11439 11440 11441 11442 11443 11444 11445 11446 11447 11448 11449 11450 11451 11452 11453 11454 11455 11456 11457 11458 11459 11460 11461 11462 11463 11464 11465 11466 11467 11468 11469 11470 11471 11472 11473 11474 11475 11476 11477 11478 11479 11480 11481 11482 11483 11484 11485 11486 11487 11488 11489 11490 11491 11492 11493 11494 11495 11496 11497 11498 11499 11500 11501 11502 11503 11504 11505 11506 11507 11508 11509 11510 11511 11512 11513 11514 11515 11516 11517 11518 11519 11520 11521 11522 11523 11524 11525 11526 11527 11528 11529 11530 11531 11532 11533 11534 11535 11536 11537 11538 11539 11540 11541 11542 11543 11544 11545 11546 11547 11548 11549 11550 11551 11552 11553 11554 11555 11556 11557 11558 11559 11560 11561 11562 11563 11564 11565 11566 11567 11568 11569 11570 11571 11572 11573 11574 11575 11576 11577 11578 11579 11580 11581 11582 11583 11584 11585 11586 11587 11588 11589 11590 11591 11592 11593 11594 11595 11596 11597 11598 11599 11600 11601 11602 11603 11604 11605 11606 11607 11608 11609 11610 11611 11612 11613 11614 11615 11616 11617 11618 11619 11620 11621 11622 11623 11624 11625 11626 11627 11628 11629 11630 11631 11632 11633 11634 11635 11636 11637 11638 11639 11640 11641 11642 11643 11644 11645 11646 11647 11648 11649 11650 11651 11652 11653 11654 11655 11656 11657 11658 11659 11660 11661 11662 11663 11664 11665 11666 11667 11668 11669 11670 11671 11672 11673 11674 11675 11676 11677 11678 11679 11680 11681 11682 11683 11684 11685 11686 11687 11688 11689 11690 11691 11692 11693 11694 11695 11696 11697 11698 11699 11700 11701 11702 11703 11704 11705 11706 11707 11708 11709 11710 11711 11712 11713 11714 11715 11716 11717 11718 11719 11720 11721 11722 11723 11724 11725 11726 11727 11728 11729 11730 11731 11732 11733 11734 11735 11736 11737 11738 11739 11740 11741 11742 11743 11744 11745 11746 11747 11748 11749 11750 11751 11752 11753 11754 11755 11756 11757 11758 11759 11760 11761 11762 11763 11764 11765 11766 11767 11768 11769 11770 11771 11772 11773 11774 11775 11776 11777 11778 11779 11780 11781 11782 11783 11784 11785 11786 11787 11788 11789 11790 11791 11792 11793 11794 11795 11796 11797 11798 11799 11800 11801 11802 11803 11804 11805 11806 11807 11808 11809 11810 11811 11812 11813 11814 11815 11816 11817 11818 11819 11820 11821 11822 11823 11824 11825 11826 11827 11828 11829 11830 11831 11832 11833 11834 11835 11836 11837 11838 11839 11840 11841 11842 11843 11844
  foldl' :: forall a b. (b -> a -> b) -> b -> [a] -> b
  foldl1 :: forall a. GHC.Stack.Types.HasCallStack => (a -> a -> a) -> [a] -> a
  foldl1' :: forall a. GHC.Stack.Types.HasCallStack => (a -> a -> a) -> [a] -> a
  foldr :: forall a b. (a -> b -> b) -> b -> [a] -> b
  foldr' :: forall a b. (a -> b -> b) -> b -> [a] -> b
  foldr1 :: forall a. GHC.Stack.Types.HasCallStack => (a -> a -> a) -> [a] -> a
  head :: forall a. GHC.Stack.Types.HasCallStack => [a] -> a
  init :: forall a. GHC.Stack.Types.HasCallStack => [a] -> [a]
  iterate :: forall a. (a -> a) -> a -> [a]
  iterate' :: forall a. (a -> a) -> a -> [a]
  last :: forall a. GHC.Stack.Types.HasCallStack => [a] -> a
  length :: forall a. [a] -> GHC.Types.Int
  lookup :: forall a b. GHC.Classes.Eq a => a -> [(a, b)] -> GHC.Maybe.Maybe b
  map :: forall a b. (a -> b) -> [a] -> [b]
  maximum :: forall a. (GHC.Classes.Ord a, GHC.Stack.Types.HasCallStack) => [a] -> a
  minimum :: forall a. (GHC.Classes.Ord a, GHC.Stack.Types.HasCallStack) => [a] -> a
  notElem :: forall a. GHC.Classes.Eq a => a -> [a] -> GHC.Types.Bool
  null :: forall a. [a] -> GHC.Types.Bool
  or :: [GHC.Types.Bool] -> GHC.Types.Bool
  product :: forall a. GHC.Num.Num a => [a] -> a
  repeat :: forall a. a -> [a]
  replicate :: forall a. GHC.Types.Int -> a -> [a]
  reverse :: forall a. [a] -> [a]
  scanl :: forall b a. (b -> a -> b) -> b -> [a] -> [b]
  scanl' :: forall b a. (b -> a -> b) -> b -> [a] -> [b]
  scanl1 :: forall a. (a -> a -> a) -> [a] -> [a]
  scanr :: forall a b. (a -> b -> b) -> b -> [a] -> [b]
  scanr1 :: forall a. (a -> a -> a) -> [a] -> [a]
  span :: forall a. (a -> GHC.Types.Bool) -> [a] -> ([a], [a])
  splitAt :: forall a. GHC.Types.Int -> [a] -> ([a], [a])
  sum :: forall a. GHC.Num.Num a => [a] -> a
  tail :: forall a. GHC.Stack.Types.HasCallStack => [a] -> [a]
  take :: forall a. GHC.Types.Int -> [a] -> [a]
  takeWhile :: forall a. (a -> GHC.Types.Bool) -> [a] -> [a]
  uncons :: forall a. [a] -> GHC.Maybe.Maybe (a, [a])
  unsnoc :: forall a. [a] -> GHC.Maybe.Maybe ([a], a)
  unzip :: forall a b. [(a, b)] -> ([a], [b])
  unzip3 :: forall a b c. [(a, b, c)] -> ([a], [b], [c])
  zip :: forall a b. [a] -> [b] -> [(a, b)]
  zip3 :: forall a b c. [a] -> [b] -> [c] -> [(a, b, c)]
  zipWith :: forall a b c. (a -> b -> c) -> [a] -> [b] -> [c]
  zipWith3 :: forall a b c d. (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]

module GHC.MVar where
  -- Safety: Unsafe
  type MVar :: * -> *
  data MVar a = MVar (GHC.Prim.MVar# GHC.Prim.RealWorld a)
  addMVarFinalizer :: forall a. MVar a -> GHC.Types.IO () -> GHC.Types.IO ()
  isEmptyMVar :: forall a. MVar a -> GHC.Types.IO GHC.Types.Bool
  newEmptyMVar :: forall a. GHC.Types.IO (MVar a)
  newMVar :: forall a. a -> GHC.Types.IO (MVar a)
  putMVar :: forall a. MVar a -> a -> GHC.Types.IO ()
  readMVar :: forall a. MVar a -> GHC.Types.IO a
  takeMVar :: forall a. MVar a -> GHC.Types.IO a
  tryPutMVar :: forall a. MVar a -> a -> GHC.Types.IO GHC.Types.Bool
  tryReadMVar :: forall a. MVar a -> GHC.Types.IO (GHC.Maybe.Maybe a)
  tryTakeMVar :: forall a. MVar a -> GHC.Types.IO (GHC.Maybe.Maybe a)

module GHC.Maybe where
  -- Safety: None
  type Maybe :: * -> *
  data Maybe a = Nothing | Just a

module GHC.Natural where
  -- Safety: Trustworthy
  type BigNat :: *
  data BigNat = BN# {unBigNat :: GHC.Num.BigNat.BigNat#}
  pattern NatJ# :: BigNat -> Natural
  pattern NatS# :: GHC.Prim.Word# -> Natural
  type Natural :: *
  data Natural = ...
  andNatural :: Natural -> Natural -> Natural
  bitNatural :: GHC.Prim.Int# -> Natural
  gcdNatural :: Natural -> Natural -> Natural
  isValidNatural :: Natural -> GHC.Types.Bool
  lcmNatural :: Natural -> Natural -> Natural
  minusNatural :: Natural -> Natural -> Natural
  minusNaturalMaybe :: Natural -> Natural -> GHC.Maybe.Maybe Natural
  mkNatural :: [GHC.Types.Word] -> Natural
  naturalFromInteger :: GHC.Num.Integer.Integer -> Natural
  naturalToInteger :: Natural -> GHC.Num.Integer.Integer
  naturalToWord :: Natural -> GHC.Types.Word
  naturalToWordMaybe :: Natural -> GHC.Maybe.Maybe GHC.Types.Word
  negateNatural :: Natural -> Natural
  orNatural :: Natural -> Natural -> Natural
  plusNatural :: Natural -> Natural -> Natural
  popCountNatural :: Natural -> GHC.Types.Int
  powModNatural :: Natural -> Natural -> Natural -> Natural
  quotNatural :: Natural -> Natural -> Natural
  quotRemNatural :: Natural -> Natural -> (Natural, Natural)
  remNatural :: Natural -> Natural -> Natural
  shiftLNatural :: Natural -> GHC.Types.Int -> Natural
  shiftRNatural :: Natural -> GHC.Types.Int -> Natural
  signumNatural :: Natural -> Natural
  testBitNatural :: Natural -> GHC.Types.Int -> GHC.Types.Bool
  timesNatural :: Natural -> Natural -> Natural
  wordToNatural :: GHC.Types.Word -> Natural
  wordToNatural# :: GHC.Types.Word -> Natural
  xorNatural :: Natural -> Natural -> Natural

module GHC.Num where
  -- Safety: Trustworthy
  type Integer :: *
  data Integer = IS GHC.Prim.Int# | IP GHC.Prim.ByteArray# | IN GHC.Prim.ByteArray#
  type Natural :: *
  data Natural = NS GHC.Prim.Word# | NB GHC.Prim.ByteArray#
  type Num :: * -> Constraint
  class Num a where
    (+) :: a -> a -> a
    (-) :: a -> a -> a
    (*) :: a -> a -> a
    negate :: a -> a
    abs :: a -> a
    signum :: a -> a
    fromInteger :: Integer -> a
    {-# MINIMAL (+), (*), abs, signum, fromInteger, (negate | (-)) #-}
  integerAbs :: Integer -> Integer
  integerAdd :: Integer -> Integer -> Integer
  integerAnd :: Integer -> Integer -> Integer
  integerBit :: GHC.Types.Word -> Integer
  integerBit# :: GHC.Prim.Word# -> Integer
  integerCheck :: Integer -> GHC.Types.Bool
  integerCheck# :: Integer -> GHC.Num.Primitives.Bool#
  integerCompare :: Integer -> Integer -> GHC.Types.Ordering
  integerComplement :: Integer -> Integer
  integerDecodeDouble# :: GHC.Prim.Double# -> (# Integer, GHC.Prim.Int# #)
  integerDiv :: Integer -> Integer -> Integer
  integerDivMod :: Integer -> Integer -> (Integer, Integer)
  integerDivMod# :: Integer -> Integer -> (# Integer, Integer #)
  integerEncodeDouble :: Integer -> GHC.Types.Int -> GHC.Types.Double
  integerEncodeDouble# :: Integer -> GHC.Prim.Int# -> GHC.Prim.Double#
  integerEncodeFloat# :: Integer -> GHC.Prim.Int# -> GHC.Prim.Float#
  integerEq :: Integer -> Integer -> GHC.Types.Bool
  integerEq# :: Integer -> Integer -> GHC.Num.Primitives.Bool#
  integerFromAddr :: GHC.Prim.Word# -> GHC.Prim.Addr# -> GHC.Num.Primitives.Bool# -> GHC.Types.IO Integer
  integerFromAddr# :: forall s. GHC.Prim.Word# -> GHC.Prim.Addr# -> GHC.Num.Primitives.Bool# -> GHC.Prim.State# s -> (# GHC.Prim.State# s, Integer #)
  integerFromBigNat# :: GHC.Num.BigNat.BigNat# -> Integer
  integerFromBigNatNeg# :: GHC.Num.BigNat.BigNat# -> Integer
  integerFromBigNatSign# :: GHC.Prim.Int# -> GHC.Num.BigNat.BigNat# -> Integer
  integerFromByteArray :: GHC.Prim.Word# -> GHC.Prim.ByteArray# -> GHC.Prim.Word# -> GHC.Num.Primitives.Bool# -> Integer
  integerFromByteArray# :: forall s. GHC.Prim.Word# -> GHC.Prim.ByteArray# -> GHC.Prim.Word# -> GHC.Num.Primitives.Bool# -> GHC.Prim.State# s -> (# GHC.Prim.State# s, Integer #)
  integerFromInt :: GHC.Types.Int -> Integer
  integerFromInt# :: GHC.Prim.Int# -> Integer
  integerFromInt64# :: GHC.Prim.Int64# -> Integer
  integerFromNatural :: Natural -> Integer
  integerFromWord :: GHC.Types.Word -> Integer
  integerFromWord# :: GHC.Prim.Word# -> Integer
  integerFromWord64# :: GHC.Prim.Word64# -> Integer
  integerFromWordList :: GHC.Types.Bool -> [GHC.Types.Word] -> Integer
  integerFromWordNeg# :: GHC.Prim.Word# -> Integer
  integerFromWordSign# :: GHC.Prim.Int# -> GHC.Prim.Word# -> Integer
  integerGcd :: Integer -> Integer -> Integer
  integerGcde :: Integer -> Integer -> (Integer, Integer, Integer)
  integerGcde# :: Integer -> Integer -> (# Integer, Integer, Integer #)
  integerGe :: Integer -> Integer -> GHC.Types.Bool
  integerGe# :: Integer -> Integer -> GHC.Num.Primitives.Bool#
  integerGt :: Integer -> Integer -> GHC.Types.Bool
  integerGt# :: Integer -> Integer -> GHC.Num.Primitives.Bool#
  integerIsNegative :: Integer -> GHC.Types.Bool
  integerIsNegative# :: Integer -> GHC.Num.Primitives.Bool#
  integerIsOne :: Integer -> GHC.Types.Bool
  integerIsPowerOf2# :: Integer -> (# (# #) | GHC.Prim.Word# #)
  integerIsZero :: Integer -> GHC.Types.Bool
  integerLcm :: Integer -> Integer -> Integer
  integerLe :: Integer -> Integer -> GHC.Types.Bool
  integerLe# :: Integer -> Integer -> GHC.Num.Primitives.Bool#
  integerLog2 :: Integer -> GHC.Types.Word
  integerLog2# :: Integer -> GHC.Prim.Word#
  integerLogBase :: Integer -> Integer -> GHC.Types.Word
  integerLogBase# :: Integer -> Integer -> GHC.Prim.Word#
  integerLogBaseWord :: GHC.Types.Word -> Integer -> GHC.Types.Word
  integerLogBaseWord# :: GHC.Prim.Word# -> Integer -> GHC.Prim.Word#
  integerLt :: Integer -> Integer -> GHC.Types.Bool
  integerLt# :: Integer -> Integer -> GHC.Num.Primitives.Bool#
  integerMod :: Integer -> Integer -> Integer
  integerMul :: Integer -> Integer -> Integer
  integerNe :: Integer -> Integer -> GHC.Types.Bool
  integerNe# :: Integer -> Integer -> GHC.Num.Primitives.Bool#
  integerNegate :: Integer -> Integer
  integerOne :: Integer
  integerOr :: Integer -> Integer -> Integer
  integerPopCount# :: Integer -> GHC.Prim.Int#
  integerPowMod# :: Integer -> Integer -> Natural -> (# Natural | () #)
  integerQuot :: Integer -> Integer -> Integer
  integerQuotRem :: Integer -> Integer -> (Integer, Integer)
  integerQuotRem# :: Integer -> Integer -> (# Integer, Integer #)
  integerRecipMod# :: Integer -> Natural -> (# Natural | () #)
  integerRem :: Integer -> Integer -> Integer
  integerShiftL :: Integer -> GHC.Types.Word -> Integer
  integerShiftL# :: Integer -> GHC.Prim.Word# -> Integer
  integerShiftR :: Integer -> GHC.Types.Word -> Integer
  integerShiftR# :: Integer -> GHC.Prim.Word# -> Integer
  integerSignum :: Integer -> Integer
  integerSignum# :: Integer -> GHC.Prim.Int#
  integerSizeInBase# :: GHC.Prim.Word# -> Integer -> GHC.Prim.Word#
  integerSqr :: Integer -> Integer
  integerSub :: Integer -> Integer -> Integer
  integerTestBit :: Integer -> GHC.Types.Word -> GHC.Types.Bool
  integerTestBit# :: Integer -> GHC.Prim.Word# -> GHC.Num.Primitives.Bool#
  integerToAddr :: Integer -> GHC.Prim.Addr# -> GHC.Num.Primitives.Bool# -> GHC.Types.IO GHC.Types.Word
  integerToAddr# :: forall s. Integer -> GHC.Prim.Addr# -> GHC.Num.Primitives.Bool# -> GHC.Prim.State# s -> (# GHC.Prim.State# s, GHC.Prim.Word# #)
  integerToBigNatClamp# :: Integer -> GHC.Num.BigNat.BigNat#
  integerToBigNatSign# :: Integer -> (# GHC.Prim.Int#, GHC.Num.BigNat.BigNat# #)
  integerToInt :: Integer -> GHC.Types.Int
  integerToInt# :: Integer -> GHC.Prim.Int#
  integerToInt64# :: Integer -> GHC.Prim.Int64#
  integerToMutableByteArray :: Integer -> GHC.Prim.MutableByteArray# GHC.Prim.RealWorld -> GHC.Prim.Word# -> GHC.Num.Primitives.Bool# -> GHC.Types.IO GHC.Types.Word
  integerToMutableByteArray# :: forall s. Integer -> GHC.Prim.MutableByteArray# s -> GHC.Prim.Word# -> GHC.Num.Primitives.Bool# -> GHC.Prim.State# s -> (# GHC.Prim.State# s, GHC.Prim.Word# #)
  integerToNatural :: Integer -> Natural
  integerToNaturalClamp :: Integer -> Natural
  integerToNaturalThrow :: Integer -> Natural
  integerToWord :: Integer -> GHC.Types.Word
  integerToWord# :: Integer -> GHC.Prim.Word#
  integerToWord64# :: Integer -> GHC.Prim.Word64#
  integerXor :: Integer -> Integer -> Integer
  integerZero :: Integer
  naturalAdd :: Natural -> Natural -> Natural
  naturalAnd :: Natural -> Natural -> Natural
  naturalAndNot :: Natural -> Natural -> Natural
  naturalBit :: GHC.Types.Word -> Natural
  naturalBit# :: GHC.Prim.Word# -> Natural
  naturalCheck :: Natural -> GHC.Types.Bool
  naturalCheck# :: Natural -> GHC.Num.Primitives.Bool#
  naturalClearBit :: Natural -> GHC.Types.Word -> Natural
  naturalClearBit# :: Natural -> GHC.Prim.Word# -> Natural
  naturalCompare :: Natural -> Natural -> GHC.Types.Ordering
  naturalComplementBit :: Natural -> GHC.Types.Word -> Natural
  naturalComplementBit# :: Natural -> GHC.Prim.Word# -> Natural
  naturalEncodeDouble# :: Natural -> GHC.Prim.Int# -> GHC.Prim.Double#
  naturalEncodeFloat# :: Natural -> GHC.Prim.Int# -> GHC.Prim.Float#
  naturalEq :: Natural -> Natural -> GHC.Types.Bool
  naturalEq# :: Natural -> Natural -> GHC.Num.Primitives.Bool#
  naturalFromAddr :: GHC.Prim.Word# -> GHC.Prim.Addr# -> GHC.Num.Primitives.Bool# -> GHC.Types.IO Natural
  naturalFromAddr# :: forall s. GHC.Prim.Word# -> GHC.Prim.Addr# -> GHC.Num.Primitives.Bool# -> GHC.Prim.State# s -> (# GHC.Prim.State# s, Natural #)
  naturalFromBigNat# :: GHC.Num.BigNat.BigNat# -> Natural
  naturalFromByteArray# :: forall s. GHC.Prim.Word# -> GHC.Prim.ByteArray# -> GHC.Prim.Word# -> GHC.Num.Primitives.Bool# -> GHC.Prim.State# s -> (# GHC.Prim.State# s, Natural #)
  naturalFromWord :: GHC.Types.Word -> Natural
  naturalFromWord# :: GHC.Prim.Word# -> Natural
  naturalFromWord2# :: GHC.Prim.Word# -> GHC.Prim.Word# -> Natural
  naturalFromWordList :: [GHC.Types.Word] -> Natural
  naturalGcd :: Natural -> Natural -> Natural
  naturalGe :: Natural -> Natural -> GHC.Types.Bool
  naturalGe# :: Natural -> Natural -> GHC.Num.Primitives.Bool#
  naturalGt :: Natural -> Natural -> GHC.Types.Bool
  naturalGt# :: Natural -> Natural -> GHC.Num.Primitives.Bool#
  naturalIsOne :: Natural -> GHC.Types.Bool
  naturalIsPowerOf2# :: Natural -> (# (# #) | GHC.Prim.Word# #)
  naturalIsZero :: Natural -> GHC.Types.Bool
  naturalLcm :: Natural -> Natural -> Natural
  naturalLe :: Natural -> Natural -> GHC.Types.Bool
  naturalLe# :: Natural -> Natural -> GHC.Num.Primitives.Bool#
  naturalLog2 :: Natural -> GHC.Types.Word
  naturalLog2# :: Natural -> GHC.Prim.Word#
  naturalLogBase :: Natural -> Natural -> GHC.Types.Word
  naturalLogBase# :: Natural -> Natural -> GHC.Prim.Word#
  naturalLogBaseWord :: GHC.Types.Word -> Natural -> GHC.Types.Word
  naturalLogBaseWord# :: GHC.Prim.Word# -> Natural -> GHC.Prim.Word#
  naturalLt :: Natural -> Natural -> GHC.Types.Bool
  naturalLt# :: Natural -> Natural -> GHC.Num.Primitives.Bool#
  naturalMul :: Natural -> Natural -> Natural
  naturalNe :: Natural -> Natural -> GHC.Types.Bool
  naturalNe# :: Natural -> Natural -> GHC.Num.Primitives.Bool#
  naturalNegate :: Natural -> Natural
  naturalOne :: Natural
  naturalOr :: Natural -> Natural -> Natural
  naturalPopCount :: Natural -> GHC.Types.Word
  naturalPopCount# :: Natural -> GHC.Prim.Word#
  naturalPowMod :: Natural -> Natural -> Natural -> Natural
  naturalQuot :: Natural -> Natural -> Natural
  naturalQuotRem :: Natural -> Natural -> (Natural, Natural)
  naturalQuotRem# :: Natural -> Natural -> (# Natural, Natural #)
  naturalRem :: Natural -> Natural -> Natural
  naturalSetBit :: Natural -> GHC.Types.Word -> Natural
  naturalSetBit# :: Natural -> GHC.Prim.Word# -> Natural
  naturalShiftL :: Natural -> GHC.Types.Word -> Natural
  naturalShiftL# :: Natural -> GHC.Prim.Word# -> Natural
  naturalShiftR :: Natural -> GHC.Types.Word -> Natural
  naturalShiftR# :: Natural -> GHC.Prim.Word# -> Natural
  naturalSignum :: Natural -> Natural
  naturalSizeInBase# :: GHC.Prim.Word# -> Natural -> GHC.Prim.Word#
  naturalSqr :: Natural -> Natural
  naturalSub :: Natural -> Natural -> (# (# #) | Natural #)
  naturalSubThrow :: Natural -> Natural -> Natural
  naturalSubUnsafe :: Natural -> Natural -> Natural
  naturalTestBit :: Natural -> GHC.Types.Word -> GHC.Types.Bool
  naturalTestBit# :: Natural -> GHC.Prim.Word# -> GHC.Num.Primitives.Bool#
  naturalToAddr :: Natural -> GHC.Prim.Addr# -> GHC.Num.Primitives.Bool# -> GHC.Types.IO GHC.Types.Word
  naturalToAddr# :: forall s. Natural -> GHC.Prim.Addr# -> GHC.Num.Primitives.Bool# -> GHC.Prim.State# s -> (# GHC.Prim.State# s, GHC.Prim.Word# #)
  naturalToBigNat# :: Natural -> GHC.Num.BigNat.BigNat#
  naturalToMutableByteArray# :: forall s. Natural -> GHC.Prim.MutableByteArray# s -> GHC.Prim.Word# -> GHC.Num.Primitives.Bool# -> GHC.Prim.State# s -> (# GHC.Prim.State# s, GHC.Prim.Word# #)
  naturalToWord :: Natural -> GHC.Types.Word
  naturalToWord# :: Natural -> GHC.Prim.Word#
  naturalToWordClamp :: Natural -> GHC.Types.Word
  naturalToWordClamp# :: Natural -> GHC.Prim.Word#
  naturalToWordMaybe# :: Natural -> (# (# #) | GHC.Prim.Word# #)
  naturalXor :: Natural -> Natural -> Natural
  naturalZero :: Natural
  quotRemInteger :: Integer -> Integer -> (# Integer, Integer #)
  subtract :: forall a. Num a => a -> a -> a

module GHC.Num.BigNat where
  -- Safety: None
  type BigNat :: *
  data BigNat = BN# {unBigNat :: BigNat#}
  type BigNat# :: GHC.Types.UnliftedType
  type BigNat# = GHC.Num.WordArray.WordArray# :: GHC.Types.UnliftedType
  bigNatAdd :: BigNat# -> BigNat# -> BigNat#
  bigNatAddWord :: BigNat# -> GHC.Types.Word -> BigNat#
  bigNatAddWord# :: BigNat# -> GHC.Prim.Word# -> BigNat#
  bigNatAnd :: BigNat# -> BigNat# -> BigNat#
  bigNatAndInt# :: BigNat# -> GHC.Prim.Int# -> BigNat#
  bigNatAndNot :: BigNat# -> BigNat# -> BigNat#
  bigNatAndNotWord# :: BigNat# -> GHC.Prim.Word# -> BigNat#
  bigNatAndWord# :: BigNat# -> GHC.Prim.Word# -> BigNat#
  bigNatBit :: GHC.Types.Word -> BigNat#
  bigNatBit# :: GHC.Prim.Word# -> BigNat#
  bigNatCheck :: BigNat# -> GHC.Types.Bool
  bigNatCheck# :: BigNat# -> GHC.Num.Primitives.Bool#
  bigNatClearBit# :: BigNat# -> GHC.Prim.Word# -> BigNat#
  bigNatCompare :: BigNat# -> BigNat# -> GHC.Types.Ordering
  bigNatCompareWord :: BigNat# -> GHC.Types.Word -> GHC.Types.Ordering
  bigNatCompareWord# :: BigNat# -> GHC.Prim.Word# -> GHC.Types.Ordering
  bigNatComplementBit# :: BigNat# -> GHC.Prim.Word# -> BigNat#
  bigNatCtz :: BigNat# -> GHC.Types.Word
  bigNatCtz# :: BigNat# -> GHC.Prim.Word#
  bigNatCtzWord :: BigNat# -> GHC.Types.Word
  bigNatCtzWord# :: BigNat# -> GHC.Prim.Word#
  bigNatEncodeDouble# :: BigNat# -> GHC.Prim.Int# -> GHC.Prim.Double#
  bigNatEq :: BigNat# -> BigNat# -> GHC.Types.Bool
  bigNatEq# :: BigNat# -> BigNat# -> GHC.Num.Primitives.Bool#
  bigNatEqWord# :: BigNat# -> GHC.Prim.Word# -> GHC.Num.Primitives.Bool#
  bigNatFromAbsInt# :: GHC.Prim.Int# -> BigNat#
  bigNatFromAddr# :: forall s. GHC.Prim.Word# -> GHC.Prim.Addr# -> GHC.Num.Primitives.Bool# -> GHC.Prim.State# s -> (# GHC.Prim.State# s, BigNat# #)
  bigNatFromAddrBE# :: forall s. GHC.Prim.Word# -> GHC.Prim.Addr# -> GHC.Prim.State# s -> (# GHC.Prim.State# s, BigNat# #)
  bigNatFromAddrLE# :: forall s. GHC.Prim.Word# -> GHC.Prim.Addr# -> GHC.Prim.State# s -> (# GHC.Prim.State# s, BigNat# #)
  bigNatFromByteArray# :: forall s. GHC.Prim.Word# -> GHC.Prim.ByteArray# -> GHC.Prim.Word# -> GHC.Num.Primitives.Bool# -> GHC.Prim.State# s -> (# GHC.Prim.State# s, BigNat# #)
  bigNatFromByteArrayBE# :: forall s. GHC.Prim.Word# -> GHC.Prim.ByteArray# -> GHC.Prim.Word# -> GHC.Prim.State# s -> (# GHC.Prim.State# s, BigNat# #)
  bigNatFromByteArrayLE# :: forall s. GHC.Prim.Word# -> GHC.Prim.ByteArray# -> GHC.Prim.Word# -> GHC.Prim.State# s -> (# GHC.Prim.State# s, BigNat# #)
  bigNatFromWord :: GHC.Types.Word -> BigNat#
  bigNatFromWord# :: GHC.Prim.Word# -> BigNat#
  bigNatFromWord2# :: GHC.Prim.Word# -> GHC.Prim.Word# -> BigNat#
  bigNatFromWord64# :: GHC.Prim.Word64# -> BigNat#
  bigNatFromWordArray :: GHC.Num.WordArray.WordArray# -> GHC.Prim.Word# -> BigNat
  bigNatFromWordArray# :: GHC.Num.WordArray.WordArray# -> GHC.Prim.Word# -> BigNat#
  bigNatFromWordList :: [GHC.Types.Word] -> BigNat#
  bigNatFromWordList# :: [GHC.Types.Word] -> GHC.Num.WordArray.WordArray#
  bigNatFromWordListUnsafe :: [GHC.Types.Word] -> BigNat#
  bigNatGcd :: BigNat# -> BigNat# -> BigNat#
  bigNatGcdWord# :: BigNat# -> GHC.Prim.Word# -> GHC.Prim.Word#
  bigNatGe :: BigNat# -> BigNat# -> GHC.Types.Bool
  bigNatGe# :: BigNat# -> BigNat# -> GHC.Num.Primitives.Bool#
  bigNatGt :: BigNat# -> BigNat# -> GHC.Types.Bool
  bigNatGt# :: BigNat# -> BigNat# -> GHC.Num.Primitives.Bool#
  bigNatGtWord :: BigNat# -> GHC.Types.Word -> GHC.Types.Bool
  bigNatGtWord# :: BigNat# -> GHC.Prim.Word# -> GHC.Num.Primitives.Bool#
  bigNatIndex :: BigNat# -> GHC.Prim.Int# -> GHC.Types.Word
  bigNatIndex# :: BigNat# -> GHC.Prim.Int# -> GHC.Prim.Word#
  bigNatIsOne :: BigNat# -> GHC.Types.Bool
  bigNatIsOne# :: BigNat# -> GHC.Num.Primitives.Bool#
  bigNatIsPowerOf2# :: BigNat# -> (# (# #) | GHC.Prim.Word# #)
  bigNatIsTwo :: BigNat# -> GHC.Types.Bool
  bigNatIsTwo# :: BigNat# -> GHC.Num.Primitives.Bool#
  bigNatIsZero :: BigNat# -> GHC.Types.Bool
  bigNatIsZero# :: BigNat# -> GHC.Num.Primitives.Bool#
  bigNatLcm :: BigNat# -> BigNat# -> BigNat#
  bigNatLcmWord# :: BigNat# -> GHC.Prim.Word# -> BigNat#
  bigNatLcmWordWord# :: GHC.Prim.Word# -> GHC.Prim.Word# -> BigNat#
  bigNatLe :: BigNat# -> BigNat# -> GHC.Types.Bool
  bigNatLe# :: BigNat# -> BigNat# -> GHC.Num.Primitives.Bool#
  bigNatLeWord :: BigNat# -> GHC.Types.Word -> GHC.Types.Bool
  bigNatLeWord# :: BigNat# -> GHC.Prim.Word# -> GHC.Num.Primitives.Bool#
  bigNatLog2 :: BigNat# -> GHC.Types.Word
  bigNatLog2# :: BigNat# -> GHC.Prim.Word#
  bigNatLogBase :: BigNat# -> BigNat# -> GHC.Types.Word
  bigNatLogBase# :: BigNat# -> BigNat# -> GHC.Prim.Word#
  bigNatLogBaseWord :: GHC.Types.Word -> BigNat# -> GHC.Types.Word
  bigNatLogBaseWord# :: GHC.Prim.Word# -> BigNat# -> GHC.Prim.Word#
  bigNatLt :: BigNat# -> BigNat# -> GHC.Types.Bool
  bigNatLt# :: BigNat# -> BigNat# -> GHC.Num.Primitives.Bool#
  bigNatMul :: BigNat# -> BigNat# -> BigNat#
  bigNatMulWord :: BigNat# -> GHC.Types.Word -> BigNat#
  bigNatMulWord# :: BigNat# -> GHC.Prim.Word# -> BigNat#
  bigNatNe :: BigNat# -> BigNat# -> GHC.Types.Bool
  bigNatNe# :: BigNat# -> BigNat# -> GHC.Num.Primitives.Bool#
  bigNatOne :: BigNat
  bigNatOne# :: (# #) -> BigNat#
  bigNatOr :: BigNat# -> BigNat# -> BigNat#
  bigNatOrWord# :: BigNat# -> GHC.Prim.Word# -> BigNat#
  bigNatPopCount :: BigNat# -> GHC.Types.Word
  bigNatPopCount# :: BigNat# -> GHC.Prim.Word#
  bigNatPowMod :: BigNat# -> BigNat# -> BigNat# -> BigNat#
  bigNatPowModWord# :: BigNat# -> BigNat# -> GHC.Prim.Word# -> GHC.Prim.Word#
  bigNatQuot :: BigNat# -> BigNat# -> BigNat#
  bigNatQuotRem# :: BigNat# -> BigNat# -> (# BigNat#, BigNat# #)
  bigNatQuotRemWord# :: BigNat# -> GHC.Prim.Word# -> (# BigNat#, GHC.Prim.Word# #)
  bigNatQuotWord :: BigNat# -> GHC.Types.Word -> BigNat#
  bigNatQuotWord# :: BigNat# -> GHC.Prim.Word# -> BigNat#
  bigNatRem :: BigNat# -> BigNat# -> BigNat#
  bigNatRemWord :: BigNat# -> GHC.Types.Word -> GHC.Types.Word
  bigNatRemWord# :: BigNat# -> GHC.Prim.Word# -> GHC.Prim.Word#
  bigNatSetBit# :: BigNat# -> GHC.Prim.Word# -> BigNat#
  bigNatShiftL :: BigNat# -> GHC.Types.Word -> BigNat#
  bigNatShiftL# :: BigNat# -> GHC.Prim.Word# -> BigNat#
  bigNatShiftR :: BigNat# -> GHC.Types.Word -> BigNat#
  bigNatShiftR# :: BigNat# -> GHC.Prim.Word# -> BigNat#
  bigNatShiftRNeg# :: BigNat# -> GHC.Prim.Word# -> BigNat#
  bigNatSize :: BigNat# -> GHC.Types.Word
  bigNatSize# :: BigNat# -> GHC.Prim.Int#
  bigNatSizeInBase :: GHC.Types.Word -> BigNat# -> GHC.Types.Word
  bigNatSizeInBase# :: GHC.Prim.Word# -> BigNat# -> GHC.Prim.Word#
  bigNatSqr :: BigNat# -> BigNat#
  bigNatSub :: BigNat# -> BigNat# -> (# (# #) | BigNat# #)
  bigNatSubUnsafe :: BigNat# -> BigNat# -> BigNat#
  bigNatSubWord# :: BigNat# -> GHC.Prim.Word# -> (# (# #) | BigNat# #)
  bigNatSubWordUnsafe :: BigNat# -> GHC.Types.Word -> BigNat#
  bigNatSubWordUnsafe# :: BigNat# -> GHC.Prim.Word# -> BigNat#
  bigNatTestBit :: BigNat# -> GHC.Types.Word -> GHC.Types.Bool
  bigNatTestBit# :: BigNat# -> GHC.Prim.Word# -> GHC.Num.Primitives.Bool#
  bigNatToAddr :: BigNat# -> GHC.Prim.Addr# -> GHC.Num.Primitives.Bool# -> GHC.Types.IO GHC.Types.Word
  bigNatToAddr# :: forall s. BigNat# -> GHC.Prim.Addr# -> GHC.Num.Primitives.Bool# -> GHC.Prim.State# s -> (# GHC.Prim.State# s, GHC.Prim.Word# #)
  bigNatToAddrBE# :: forall s. BigNat# -> GHC.Prim.Addr# -> GHC.Prim.State# s -> (# GHC.Prim.State# s, GHC.Prim.Word# #)
  bigNatToAddrLE# :: forall s. BigNat# -> GHC.Prim.Addr# -> GHC.Prim.State# s -> (# GHC.Prim.State# s, GHC.Prim.Word# #)
  bigNatToInt :: BigNat# -> GHC.Types.Int
  bigNatToInt# :: BigNat# -> GHC.Prim.Int#
  bigNatToMutableByteArray# :: forall s. BigNat# -> GHC.Prim.MutableByteArray# s -> GHC.Prim.Word# -> GHC.Num.Primitives.Bool# -> GHC.Prim.State# s -> (# GHC.Prim.State# s, GHC.Prim.Word# #)
  bigNatToMutableByteArrayBE# :: forall s. BigNat# -> GHC.Prim.MutableByteArray# s -> GHC.Prim.Word# -> GHC.Prim.State# s -> (# GHC.Prim.State# s, GHC.Prim.Word# #)
  bigNatToMutableByteArrayLE# :: forall s. BigNat# -> GHC.Prim.MutableByteArray# s -> GHC.Prim.Word# -> GHC.Prim.State# s -> (# GHC.Prim.State# s, GHC.Prim.Word# #)
  bigNatToWord :: BigNat# -> GHC.Types.Word
  bigNatToWord# :: BigNat# -> GHC.Prim.Word#
  bigNatToWord64# :: BigNat# -> GHC.Prim.Word64#
  bigNatToWordList :: BigNat# -> [GHC.Types.Word]
  bigNatToWordMaybe# :: BigNat# -> (# (# #) | GHC.Prim.Word# #)
  bigNatXor :: BigNat# -> BigNat# -> BigNat#
  bigNatXorWord# :: BigNat# -> GHC.Prim.Word# -> BigNat#
  bigNatZero :: BigNat
  bigNatZero# :: (# #) -> BigNat#
  gcdInt :: GHC.Types.Int -> GHC.Types.Int -> GHC.Types.Int
  gcdInt# :: GHC.Prim.Int# -> GHC.Prim.Int# -> GHC.Prim.Int#
  gcdWord :: GHC.Types.Word -> GHC.Types.Word -> GHC.Types.Word
  gcdWord# :: GHC.Prim.Word# -> GHC.Prim.Word# -> GHC.Prim.Word#
  powModWord# :: GHC.Prim.Word# -> GHC.Prim.Word# -> GHC.Prim.Word# -> GHC.Prim.Word#
  raiseDivZero_BigNat :: (# #) -> BigNat#

module GHC.Num.Integer where
  -- Safety: None
  type Integer :: *
  data Integer = IS GHC.Prim.Int# | IP GHC.Prim.ByteArray# | IN GHC.Prim.ByteArray#
  integerAbs :: Integer -> Integer
  integerAdd :: Integer -> Integer -> Integer
  integerAnd :: Integer -> Integer -> Integer
  integerBit :: GHC.Types.Word -> Integer
  integerBit# :: GHC.Prim.Word# -> Integer
  integerCheck :: Integer -> GHC.Types.Bool
  integerCheck# :: Integer -> GHC.Num.Primitives.Bool#
  integerCompare :: Integer -> Integer -> GHC.Types.Ordering
  integerComplement :: Integer -> Integer
  integerDecodeDouble# :: GHC.Prim.Double# -> (# Integer, GHC.Prim.Int# #)
  integerDiv :: Integer -> Integer -> Integer
  integerDivMod :: Integer -> Integer -> (Integer, Integer)
  integerDivMod# :: Integer -> Integer -> (# Integer, Integer #)
  integerEncodeDouble :: Integer -> GHC.Types.Int -> GHC.Types.Double
  integerEncodeDouble# :: Integer -> GHC.Prim.Int# -> GHC.Prim.Double#
  integerEncodeFloat# :: Integer -> GHC.Prim.Int# -> GHC.Prim.Float#
  integerEq :: Integer -> Integer -> GHC.Types.Bool
  integerEq# :: Integer -> Integer -> GHC.Num.Primitives.Bool#
  integerFromAddr :: GHC.Prim.Word# -> GHC.Prim.Addr# -> GHC.Num.Primitives.Bool# -> GHC.Types.IO Integer
  integerFromAddr# :: forall s. GHC.Prim.Word# -> GHC.Prim.Addr# -> GHC.Num.Primitives.Bool# -> GHC.Prim.State# s -> (# GHC.Prim.State# s, Integer #)
  integerFromBigNat# :: GHC.Num.BigNat.BigNat# -> Integer
  integerFromBigNatNeg# :: GHC.Num.BigNat.BigNat# -> Integer
  integerFromBigNatSign# :: GHC.Prim.Int# -> GHC.Num.BigNat.BigNat# -> Integer
  integerFromByteArray :: GHC.Prim.Word# -> GHC.Prim.ByteArray# -> GHC.Prim.Word# -> GHC.Num.Primitives.Bool# -> Integer
  integerFromByteArray# :: forall s. GHC.Prim.Word# -> GHC.Prim.ByteArray# -> GHC.Prim.Word# -> GHC.Num.Primitives.Bool# -> GHC.Prim.State# s -> (# GHC.Prim.State# s, Integer #)
  integerFromInt :: GHC.Types.Int -> Integer
  integerFromInt# :: GHC.Prim.Int# -> Integer
  integerFromInt64# :: GHC.Prim.Int64# -> Integer
  integerFromNatural :: GHC.Num.Natural.Natural -> Integer
  integerFromWord :: GHC.Types.Word -> Integer
  integerFromWord# :: GHC.Prim.Word# -> Integer
  integerFromWord64# :: GHC.Prim.Word64# -> Integer
  integerFromWordList :: GHC.Types.Bool -> [GHC.Types.Word] -> Integer
  integerFromWordNeg# :: GHC.Prim.Word# -> Integer
  integerFromWordSign# :: GHC.Prim.Int# -> GHC.Prim.Word# -> Integer
  integerGcd :: Integer -> Integer -> Integer
  integerGcde :: Integer -> Integer -> (Integer, Integer, Integer)
  integerGcde# :: Integer -> Integer -> (# Integer, Integer, Integer #)
  integerGe :: Integer -> Integer -> GHC.Types.Bool
  integerGe# :: Integer -> Integer -> GHC.Num.Primitives.Bool#
  integerGt :: Integer -> Integer -> GHC.Types.Bool
  integerGt# :: Integer -> Integer -> GHC.Num.Primitives.Bool#
  integerIsNegative :: Integer -> GHC.Types.Bool
  integerIsNegative# :: Integer -> GHC.Num.Primitives.Bool#
  integerIsOne :: Integer -> GHC.Types.Bool
  integerIsPowerOf2# :: Integer -> (# (# #) | GHC.Prim.Word# #)
  integerIsZero :: Integer -> GHC.Types.Bool
  integerLcm :: Integer -> Integer -> Integer
  integerLe :: Integer -> Integer -> GHC.Types.Bool
  integerLe# :: Integer -> Integer -> GHC.Num.Primitives.Bool#
  integerLog2 :: Integer -> GHC.Types.Word
  integerLog2# :: Integer -> GHC.Prim.Word#
  integerLogBase :: Integer -> Integer -> GHC.Types.Word
  integerLogBase# :: Integer -> Integer -> GHC.Prim.Word#
  integerLogBaseWord :: GHC.Types.Word -> Integer -> GHC.Types.Word
  integerLogBaseWord# :: GHC.Prim.Word# -> Integer -> GHC.Prim.Word#
  integerLt :: Integer -> Integer -> GHC.Types.Bool
  integerLt# :: Integer -> Integer -> GHC.Num.Primitives.Bool#
  integerMod :: Integer -> Integer -> Integer
  integerMul :: Integer -> Integer -> Integer
  integerNe :: Integer -> Integer -> GHC.Types.Bool
  integerNe# :: Integer -> Integer -> GHC.Num.Primitives.Bool#
  integerNegate :: Integer -> Integer
  integerOne :: Integer
  integerOr :: Integer -> Integer -> Integer
  integerPopCount# :: Integer -> GHC.Prim.Int#
  integerPowMod# :: Integer -> Integer -> GHC.Num.Natural.Natural -> (# GHC.Num.Natural.Natural | () #)
  integerQuot :: Integer -> Integer -> Integer
  integerQuotRem :: Integer -> Integer -> (Integer, Integer)
  integerQuotRem# :: Integer -> Integer -> (# Integer, Integer #)
  integerRecipMod# :: Integer -> GHC.Num.Natural.Natural -> (# GHC.Num.Natural.Natural | () #)
  integerRem :: Integer -> Integer -> Integer
  integerShiftL :: Integer -> GHC.Types.Word -> Integer
  integerShiftL# :: Integer -> GHC.Prim.Word# -> Integer
  integerShiftR :: Integer -> GHC.Types.Word -> Integer
  integerShiftR# :: Integer -> GHC.Prim.Word# -> Integer
  integerSignum :: Integer -> Integer
  integerSignum# :: Integer -> GHC.Prim.Int#
  integerSizeInBase# :: GHC.Prim.Word# -> Integer -> GHC.Prim.Word#
  integerSqr :: Integer -> Integer
  integerSub :: Integer -> Integer -> Integer
  integerTestBit :: Integer -> GHC.Types.Word -> GHC.Types.Bool
  integerTestBit# :: Integer -> GHC.Prim.Word# -> GHC.Num.Primitives.Bool#
  integerToAddr :: Integer -> GHC.Prim.Addr# -> GHC.Num.Primitives.Bool# -> GHC.Types.IO GHC.Types.Word
  integerToAddr# :: forall s. Integer -> GHC.Prim.Addr# -> GHC.Num.Primitives.Bool# -> GHC.Prim.State# s -> (# GHC.Prim.State# s, GHC.Prim.Word# #)
  integerToBigNatClamp# :: Integer -> GHC.Num.BigNat.BigNat#
  integerToBigNatSign# :: Integer -> (# GHC.Prim.Int#, GHC.Num.BigNat.BigNat# #)
  integerToInt :: Integer -> GHC.Types.Int
  integerToInt# :: Integer -> GHC.Prim.Int#
  integerToInt64# :: Integer -> GHC.Prim.Int64#
  integerToMutableByteArray :: Integer -> GHC.Prim.MutableByteArray# GHC.Prim.RealWorld -> GHC.Prim.Word# -> GHC.Num.Primitives.Bool# -> GHC.Types.IO GHC.Types.Word
  integerToMutableByteArray# :: forall s. Integer -> GHC.Prim.MutableByteArray# s -> GHC.Prim.Word# -> GHC.Num.Primitives.Bool# -> GHC.Prim.State# s -> (# GHC.Prim.State# s, GHC.Prim.Word# #)
  integerToNatural :: Integer -> GHC.Num.Natural.Natural
  integerToNaturalClamp :: Integer -> GHC.Num.Natural.Natural
  integerToNaturalThrow :: Integer -> GHC.Num.Natural.Natural
  integerToWord :: Integer -> GHC.Types.Word
  integerToWord# :: Integer -> GHC.Prim.Word#
  integerToWord64# :: Integer -> GHC.Prim.Word64#
  integerXor :: Integer -> Integer -> Integer
  integerZero :: Integer

module GHC.Num.Natural where
  -- Safety: None
  type Natural :: *
  data Natural = NS GHC.Prim.Word# | NB GHC.Prim.ByteArray#
  naturalAdd :: Natural -> Natural -> Natural
  naturalAnd :: Natural -> Natural -> Natural
  naturalAndNot :: Natural -> Natural -> Natural
  naturalBit :: GHC.Types.Word -> Natural
  naturalBit# :: GHC.Prim.Word# -> Natural
  naturalCheck :: Natural -> GHC.Types.Bool
  naturalCheck# :: Natural -> GHC.Num.Primitives.Bool#
  naturalClearBit :: Natural -> GHC.Types.Word -> Natural
  naturalClearBit# :: Natural -> GHC.Prim.Word# -> Natural
  naturalCompare :: Natural -> Natural -> GHC.Types.Ordering
  naturalComplementBit :: Natural -> GHC.Types.Word -> Natural
  naturalComplementBit# :: Natural -> GHC.Prim.Word# -> Natural
  naturalEncodeDouble# :: Natural -> GHC.Prim.Int# -> GHC.Prim.Double#
  naturalEncodeFloat# :: Natural -> GHC.Prim.Int# -> GHC.Prim.Float#
  naturalEq :: Natural -> Natural -> GHC.Types.Bool
  naturalEq# :: Natural -> Natural -> GHC.Num.Primitives.Bool#
  naturalFromAddr :: GHC.Prim.Word# -> GHC.Prim.Addr# -> GHC.Num.Primitives.Bool# -> GHC.Types.IO Natural
  naturalFromAddr# :: forall s. GHC.Prim.Word# -> GHC.Prim.Addr# -> GHC.Num.Primitives.Bool# -> GHC.Prim.State# s -> (# GHC.Prim.State# s, Natural #)
  naturalFromBigNat# :: GHC.Num.BigNat.BigNat# -> Natural
  naturalFromByteArray# :: forall s. GHC.Prim.Word# -> GHC.Prim.ByteArray# -> GHC.Prim.Word# -> GHC.Num.Primitives.Bool# -> GHC.Prim.State# s -> (# GHC.Prim.State# s, Natural #)
  naturalFromWord :: GHC.Types.Word -> Natural
  naturalFromWord# :: GHC.Prim.Word# -> Natural
  naturalFromWord2# :: GHC.Prim.Word# -> GHC.Prim.Word# -> Natural
  naturalFromWordList :: [GHC.Types.Word] -> Natural
  naturalGcd :: Natural -> Natural -> Natural
  naturalGe :: Natural -> Natural -> GHC.Types.Bool
  naturalGe# :: Natural -> Natural -> GHC.Num.Primitives.Bool#
  naturalGt :: Natural -> Natural -> GHC.Types.Bool
  naturalGt# :: Natural -> Natural -> GHC.Num.Primitives.Bool#
  naturalIsOne :: Natural -> GHC.Types.Bool
  naturalIsPowerOf2# :: Natural -> (# (# #) | GHC.Prim.Word# #)
  naturalIsZero :: Natural -> GHC.Types.Bool
  naturalLcm :: Natural -> Natural -> Natural
  naturalLe :: Natural -> Natural -> GHC.Types.Bool
  naturalLe# :: Natural -> Natural -> GHC.Num.Primitives.Bool#
  naturalLog2 :: Natural -> GHC.Types.Word
  naturalLog2# :: Natural -> GHC.Prim.Word#
  naturalLogBase :: Natural -> Natural -> GHC.Types.Word
  naturalLogBase# :: Natural -> Natural -> GHC.Prim.Word#
  naturalLogBaseWord :: GHC.Types.Word -> Natural -> GHC.Types.Word
  naturalLogBaseWord# :: GHC.Prim.Word# -> Natural -> GHC.Prim.Word#
  naturalLt :: Natural -> Natural -> GHC.Types.Bool
  naturalLt# :: Natural -> Natural -> GHC.Num.Primitives.Bool#
  naturalMul :: Natural -> Natural -> Natural
  naturalNe :: Natural -> Natural -> GHC.Types.Bool
  naturalNe# :: Natural -> Natural -> GHC.Num.Primitives.Bool#
  naturalNegate :: Natural -> Natural
  naturalOne :: Natural
  naturalOr :: Natural -> Natural -> Natural
  naturalPopCount :: Natural -> GHC.Types.Word
  naturalPopCount# :: Natural -> GHC.Prim.Word#
  naturalPowMod :: Natural -> Natural -> Natural -> Natural
  naturalQuot :: Natural -> Natural -> Natural
  naturalQuotRem :: Natural -> Natural -> (Natural, Natural)
  naturalQuotRem# :: Natural -> Natural -> (# Natural, Natural #)
  naturalRem :: Natural -> Natural -> Natural
  naturalSetBit :: Natural -> GHC.Types.Word -> Natural
  naturalSetBit# :: Natural -> GHC.Prim.Word# -> Natural
  naturalShiftL :: Natural -> GHC.Types.Word -> Natural
  naturalShiftL# :: Natural -> GHC.Prim.Word# -> Natural
  naturalShiftR :: Natural -> GHC.Types.Word -> Natural
  naturalShiftR# :: Natural -> GHC.Prim.Word# -> Natural
  naturalSignum :: Natural -> Natural
  naturalSizeInBase# :: GHC.Prim.Word# -> Natural -> GHC.Prim.Word#
  naturalSqr :: Natural -> Natural
  naturalSub :: Natural -> Natural -> (# (# #) | Natural #)
  naturalSubThrow :: Natural -> Natural -> Natural
  naturalSubUnsafe :: Natural -> Natural -> Natural
  naturalTestBit :: Natural -> GHC.Types.Word -> GHC.Types.Bool
  naturalTestBit# :: Natural -> GHC.Prim.Word# -> GHC.Num.Primitives.Bool#
  naturalToAddr :: Natural -> GHC.Prim.Addr# -> GHC.Num.Primitives.Bool# -> GHC.Types.IO GHC.Types.Word
  naturalToAddr# :: forall s. Natural -> GHC.Prim.Addr# -> GHC.Num.Primitives.Bool# -> GHC.Prim.State# s -> (# GHC.Prim.State# s, GHC.Prim.Word# #)
  naturalToBigNat# :: Natural -> GHC.Num.BigNat.BigNat#
  naturalToMutableByteArray# :: forall s. Natural -> GHC.Prim.MutableByteArray# s -> GHC.Prim.Word# -> GHC.Num.Primitives.Bool# -> GHC.Prim.State# s -> (# GHC.Prim.State# s, GHC.Prim.Word# #)
  naturalToWord :: Natural -> GHC.Types.Word
  naturalToWord# :: Natural -> GHC.Prim.Word#
  naturalToWordClamp :: Natural -> GHC.Types.Word
  naturalToWordClamp# :: Natural -> GHC.Prim.Word#
  naturalToWordMaybe# :: Natural -> (# (# #) | GHC.Prim.Word# #)
  naturalXor :: Natural -> Natural -> Natural
  naturalZero :: Natural

module GHC.OldList where
  -- Safety: Safe
  (!!) :: forall a. GHC.Stack.Types.HasCallStack => [a] -> GHC.Types.Int -> a
  (!?) :: forall a. [a] -> GHC.Types.Int -> GHC.Maybe.Maybe a
  (++) :: forall a. [a] -> [a] -> [a]
  (\\) :: forall a. GHC.Classes.Eq a => [a] -> [a] -> [a]
  all :: forall a. (a -> GHC.Types.Bool) -> [a] -> GHC.Types.Bool
  and :: [GHC.Types.Bool] -> GHC.Types.Bool
  any :: forall a. (a -> GHC.Types.Bool) -> [a] -> GHC.Types.Bool
  break :: forall a. (a -> GHC.Types.Bool) -> [a] -> ([a], [a])
  concat :: forall a. [[a]] -> [a]
  concatMap :: forall a b. (a -> [b]) -> [a] -> [b]
  cycle :: forall a. GHC.Stack.Types.HasCallStack => [a] -> [a]
  delete :: forall a. GHC.Classes.Eq a => a -> [a] -> [a]
  deleteBy :: forall a. (a -> a -> GHC.Types.Bool) -> a -> [a] -> [a]
  deleteFirstsBy :: forall a. (a -> a -> GHC.Types.Bool) -> [a] -> [a] -> [a]
  drop :: forall a. GHC.Types.Int -> [a] -> [a]
  dropWhile :: forall a. (a -> GHC.Types.Bool) -> [a] -> [a]
  dropWhileEnd :: forall a. (a -> GHC.Types.Bool) -> [a] -> [a]
  elem :: forall a. GHC.Classes.Eq a => a -> [a] -> GHC.Types.Bool
  elemIndex :: forall a. GHC.Classes.Eq a => a -> [a] -> GHC.Maybe.Maybe GHC.Types.Int
  elemIndices :: forall a. GHC.Classes.Eq a => a -> [a] -> [GHC.Types.Int]
  filter :: forall a. (a -> GHC.Types.Bool) -> [a] -> [a]
  find :: forall a. (a -> GHC.Types.Bool) -> [a] -> GHC.Maybe.Maybe a
  findIndex :: forall a. (a -> GHC.Types.Bool) -> [a] -> GHC.Maybe.Maybe GHC.Types.Int
  findIndices :: forall a. (a -> GHC.Types.Bool) -> [a] -> [GHC.Types.Int]
  foldl :: forall a b. (b -> a -> b) -> b -> [a] -> b
  foldl' :: forall a b. (b -> a -> b) -> b -> [a] -> b
  foldl1 :: forall a. GHC.Stack.Types.HasCallStack => (a -> a -> a) -> [a] -> a
  foldl1' :: forall a. GHC.Stack.Types.HasCallStack => (a -> a -> a) -> [a] -> a
  foldr :: forall a b. (a -> b -> b) -> b -> [a] -> b
  foldr1 :: forall a. GHC.Stack.Types.HasCallStack => (a -> a -> a) -> [a] -> a
  genericDrop :: forall i a. GHC.Real.Integral i => i -> [a] -> [a]
  genericIndex :: forall i a. GHC.Real.Integral i => [a] -> i -> a
  genericLength :: forall i a. GHC.Num.Num i => [a] -> i
  genericReplicate :: forall i a. GHC.Real.Integral i => i -> a -> [a]
  genericSplitAt :: forall i a. GHC.Real.Integral i => i -> [a] -> ([a], [a])
  genericTake :: forall i a. GHC.Real.Integral i => i -> [a] -> [a]
  group :: forall a. GHC.Classes.Eq a => [a] -> [[a]]
  groupBy :: forall a. (a -> a -> GHC.Types.Bool) -> [a] -> [[a]]
  head :: forall a. GHC.Stack.Types.HasCallStack => [a] -> a
  init :: forall a. GHC.Stack.Types.HasCallStack => [a] -> [a]
  inits :: forall a. [a] -> [[a]]
  insert :: forall a. GHC.Classes.Ord a => a -> [a] -> [a]
  insertBy :: forall a. (a -> a -> GHC.Types.Ordering) -> a -> [a] -> [a]
  intercalate :: forall a. [a] -> [[a]] -> [a]
  intersect :: forall a. GHC.Classes.Eq a => [a] -> [a] -> [a]
  intersectBy :: forall a. (a -> a -> GHC.Types.Bool) -> [a] -> [a] -> [a]
  intersperse :: forall a. a -> [a] -> [a]
  isInfixOf :: forall a. GHC.Classes.Eq a => [a] -> [a] -> GHC.Types.Bool
  isPrefixOf :: forall a. GHC.Classes.Eq a => [a] -> [a] -> GHC.Types.Bool
  isSuffixOf :: forall a. GHC.Classes.Eq a => [a] -> [a] -> GHC.Types.Bool
  iterate :: forall a. (a -> a) -> a -> [a]
  iterate' :: forall a. (a -> a) -> a -> [a]
  last :: forall a. GHC.Stack.Types.HasCallStack => [a] -> a
  length :: forall a. [a] -> GHC.Types.Int
  lines :: GHC.Base.String -> [GHC.Base.String]
  lookup :: forall a b. GHC.Classes.Eq a => a -> [(a, b)] -> GHC.Maybe.Maybe b
  map :: forall a b. (a -> b) -> [a] -> [b]
  mapAccumL :: forall acc x y. (acc -> x -> (acc, y)) -> acc -> [x] -> (acc, [y])
  mapAccumR :: forall acc x y. (acc -> x -> (acc, y)) -> acc -> [x] -> (acc, [y])
  maximum :: forall a. (GHC.Classes.Ord a, GHC.Stack.Types.HasCallStack) => [a] -> a
  maximumBy :: forall a. (a -> a -> GHC.Types.Ordering) -> [a] -> a
  minimum :: forall a. (GHC.Classes.Ord a, GHC.Stack.Types.HasCallStack) => [a] -> a
  minimumBy :: forall a. (a -> a -> GHC.Types.Ordering) -> [a] -> a
  notElem :: forall a. GHC.Classes.Eq a => a -> [a] -> GHC.Types.Bool
  nub :: forall a. GHC.Classes.Eq a => [a] -> [a]
  nubBy :: forall a. (a -> a -> GHC.Types.Bool) -> [a] -> [a]
  null :: forall a. [a] -> GHC.Types.Bool
  or :: [GHC.Types.Bool] -> GHC.Types.Bool
  partition :: forall a. (a -> GHC.Types.Bool) -> [a] -> ([a], [a])
  permutations :: forall a. [a] -> [[a]]
  product :: forall a. GHC.Num.Num a => [a] -> a
  repeat :: forall a. a -> [a]
  replicate :: forall a. GHC.Types.Int -> a -> [a]
  reverse :: forall a. [a] -> [a]
  scanl :: forall b a. (b -> a -> b) -> b -> [a] -> [b]
  scanl' :: forall b a. (b -> a -> b) -> b -> [a] -> [b]
  scanl1 :: forall a. (a -> a -> a) -> [a] -> [a]
  scanr :: forall a b. (a -> b -> b) -> b -> [a] -> [b]
  scanr1 :: forall a. (a -> a -> a) -> [a] -> [a]
  singleton :: forall a. a -> [a]
  sort :: forall a. GHC.Classes.Ord a => [a] -> [a]
  sortBy :: forall a. (a -> a -> GHC.Types.Ordering) -> [a] -> [a]
  sortOn :: forall b a. GHC.Classes.Ord b => (a -> b) -> [a] -> [a]
  span :: forall a. (a -> GHC.Types.Bool) -> [a] -> ([a], [a])
  splitAt :: forall a. GHC.Types.Int -> [a] -> ([a], [a])
  stripPrefix :: forall a. GHC.Classes.Eq a => [a] -> [a] -> GHC.Maybe.Maybe [a]
  subsequences :: forall a. [a] -> [[a]]
  sum :: forall a. GHC.Num.Num a => [a] -> a
  tail :: forall a. GHC.Stack.Types.HasCallStack => [a] -> [a]
  tails :: forall a. [a] -> [[a]]
  take :: forall a. GHC.Types.Int -> [a] -> [a]
  takeWhile :: forall a. (a -> GHC.Types.Bool) -> [a] -> [a]
  transpose :: forall a. [[a]] -> [[a]]
  uncons :: forall a. [a] -> GHC.Maybe.Maybe (a, [a])
  unfoldr :: forall b a. (b -> GHC.Maybe.Maybe (a, b)) -> b -> [a]
  union :: forall a. GHC.Classes.Eq a => [a] -> [a] -> [a]
  unionBy :: forall a. (a -> a -> GHC.Types.Bool) -> [a] -> [a] -> [a]
  unlines :: [GHC.Base.String] -> GHC.Base.String
  unsnoc :: forall a. [a] -> GHC.Maybe.Maybe ([a], a)
  unwords :: [GHC.Base.String] -> GHC.Base.String
  unzip :: forall a b. [(a, b)] -> ([a], [b])
  unzip3 :: forall a b c. [(a, b, c)] -> ([a], [b], [c])
  unzip4 :: forall a b c d. [(a, b, c, d)] -> ([a], [b], [c], [d])
  unzip5 :: forall a b c d e. [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e])
  unzip6 :: forall a b c d e f. [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f])
  unzip7 :: forall a b c d e f g. [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g])
  words :: GHC.Base.String -> [GHC.Base.String]
  zip :: forall a b. [a] -> [b] -> [(a, b)]
  zip3 :: forall a b c. [a] -> [b] -> [c] -> [(a, b, c)]
  zip4 :: forall a b c d. [a] -> [b] -> [c] -> [d] -> [(a, b, c, d)]
  zip5 :: forall a b c d e. [a] -> [b] -> [c] -> [d] -> [e] -> [(a, b, c, d, e)]
  zip6 :: forall a b c d e f. [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [(a, b, c, d, e, f)]
  zip7 :: forall a b c d e f g. [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [(a, b, c, d, e, f, g)]
  zipWith :: forall a b c. (a -> b -> c) -> [a] -> [b] -> [c]
  zipWith3 :: forall a b c d. (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
  zipWith4 :: forall a b c d e. (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]
  zipWith5 :: forall a b c d e f. (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
  zipWith6 :: forall a b c d e f g. (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g]
  zipWith7 :: forall a b c d e f g h. (a -> b -> c -> d -> e -> f -> g -> h) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h]

module GHC.OverloadedLabels where
  -- Safety: None
  type IsLabel :: GHC.Types.Symbol -> * -> Constraint
  class IsLabel x a where
    fromLabel :: a
    {-# MINIMAL fromLabel #-}

module GHC.Pack where
  -- Safety: Unsafe
  packCString# :: [GHC.Types.Char] -> GHC.Prim.ByteArray#
  unpackAppendCString# :: GHC.Prim.Addr# -> [GHC.Types.Char] -> [GHC.Types.Char]
  unpackCString :: forall a. GHC.Ptr.Ptr a -> [GHC.Types.Char]
  unpackCString# :: GHC.Prim.Addr# -> [GHC.Types.Char]
  unpackFoldrCString# :: forall a. GHC.Prim.Addr# -> (GHC.Types.Char -> a -> a) -> a -> a
  unpackNBytes# :: GHC.Prim.Addr# -> GHC.Prim.Int# -> [GHC.Types.Char]

module GHC.Profiling where
  -- Safety: Trustworthy
  requestHeapCensus :: GHC.Types.IO ()
  startHeapProfTimer :: GHC.Types.IO ()
  startProfTimer :: GHC.Types.IO ()
  stopHeapProfTimer :: GHC.Types.IO ()
  stopProfTimer :: GHC.Types.IO ()

module GHC.Ptr where
  -- Safety: Unsafe
  type role FunPtr phantom
  type FunPtr :: * -> *
  data FunPtr a = FunPtr GHC.Prim.Addr#
  type role Ptr phantom
  type Ptr :: * -> *
  data Ptr a = Ptr GHC.Prim.Addr#
  alignPtr :: forall a. Ptr a -> GHC.Types.Int -> Ptr a
  castFunPtr :: forall a b. FunPtr a -> FunPtr b
  castFunPtrToPtr :: forall a b. FunPtr a -> Ptr b
  castPtr :: forall a b. Ptr a -> Ptr b
  castPtrToFunPtr :: forall a b. Ptr a -> FunPtr b
  minusPtr :: forall a b. Ptr a -> Ptr b -> GHC.Types.Int
  nullFunPtr :: forall a. FunPtr a
  nullPtr :: forall a. Ptr a
  plusPtr :: forall a b. Ptr a -> GHC.Types.Int -> Ptr b

module GHC.RTS.Flags where
  -- Safety: None
  type CCFlags :: *
  data CCFlags = CCFlags {doCostCentres :: DoCostCentres, profilerTicks :: GHC.Types.Int, msecsPerTick :: GHC.Types.Int}
  type ConcFlags :: *
  data ConcFlags = ConcFlags {ctxtSwitchTime :: RtsTime, ctxtSwitchTicks :: GHC.Types.Int}
  type DebugFlags :: *
  data DebugFlags = DebugFlags {scheduler :: GHC.Types.Bool, interpreter :: GHC.Types.Bool, weak :: GHC.Types.Bool, gccafs :: GHC.Types.Bool, gc :: GHC.Types.Bool, nonmoving_gc :: GHC.Types.Bool, block_alloc :: GHC.Types.Bool, sanity :: GHC.Types.Bool, stable :: GHC.Types.Bool, prof :: GHC.Types.Bool, linker :: GHC.Types.Bool, apply :: GHC.Types.Bool, stm :: GHC.Types.Bool, squeeze :: GHC.Types.Bool, hpc :: GHC.Types.Bool, sparks :: GHC.Types.Bool}
  type DoCostCentres :: *
  data DoCostCentres = CostCentresNone | CostCentresSummary | CostCentresVerbose | CostCentresAll | CostCentresJSON
  type DoHeapProfile :: *
  data DoHeapProfile = NoHeapProfiling | HeapByCCS | HeapByMod | HeapByDescr | HeapByType | HeapByRetainer | HeapByLDV | HeapByClosureType | HeapByInfoTable
  type DoTrace :: *
  data DoTrace = TraceNone | TraceEventLog | TraceStderr
  type GCFlags :: *
  data GCFlags
    = GCFlags {statsFile :: GHC.Maybe.Maybe GHC.IO.FilePath,
               giveStats :: GiveGCStats,
               maxStkSize :: GHC.Word.Word32,
               initialStkSize :: GHC.Word.Word32,
               stkChunkSize :: GHC.Word.Word32,
               stkChunkBufferSize :: GHC.Word.Word32,
               maxHeapSize :: GHC.Word.Word32,
               minAllocAreaSize :: GHC.Word.Word32,
               largeAllocLim :: GHC.Word.Word32,
               nurseryChunkSize :: GHC.Word.Word32,
               minOldGenSize :: GHC.Word.Word32,
               heapSizeSuggestion :: GHC.Word.Word32,
               heapSizeSuggestionAuto :: GHC.Types.Bool,
               oldGenFactor :: GHC.Types.Double,
               returnDecayFactor :: GHC.Types.Double,
               pcFreeHeap :: GHC.Types.Double,
               generations :: GHC.Word.Word32,
               squeezeUpdFrames :: GHC.Types.Bool,
               compact :: GHC.Types.Bool,
               compactThreshold :: GHC.Types.Double,
               sweep :: GHC.Types.Bool,
               ringBell :: GHC.Types.Bool,
               idleGCDelayTime :: RtsTime,
               doIdleGC :: GHC.Types.Bool,
               heapBase :: GHC.Types.Word,
               allocLimitGrace :: GHC.Types.Word,
               numa :: GHC.Types.Bool,
               numaMask :: GHC.Types.Word}
  type GiveGCStats :: *
  data GiveGCStats = NoGCStats | CollectGCStats | OneLineGCStats | SummaryGCStats | VerboseGCStats
  type HpcFlags :: *
  data HpcFlags = HpcFlags {writeTixFile :: GHC.Types.Bool}
  type IoSubSystem :: *
  data IoSubSystem = IoPOSIX | IoNative
  type MiscFlags :: *
  data MiscFlags = MiscFlags {tickInterval :: RtsTime, installSignalHandlers :: GHC.Types.Bool, installSEHHandlers :: GHC.Types.Bool, generateCrashDumpFile :: GHC.Types.Bool, generateStackTrace :: GHC.Types.Bool, machineReadable :: GHC.Types.Bool, disableDelayedOsMemoryReturn :: GHC.Types.Bool, internalCounters :: GHC.Types.Bool, linkerAlwaysPic :: GHC.Types.Bool, linkerMemBase :: GHC.Types.Word, ioManager :: IoSubSystem, numIoWorkerThreads :: GHC.Word.Word32}
  type ParFlags :: *
  data ParFlags = ParFlags {nCapabilities :: GHC.Word.Word32, migrate :: GHC.Types.Bool, maxLocalSparks :: GHC.Word.Word32, parGcEnabled :: GHC.Types.Bool, parGcGen :: GHC.Word.Word32, parGcLoadBalancingEnabled :: GHC.Types.Bool, parGcLoadBalancingGen :: GHC.Word.Word32, parGcNoSyncWithIdle :: GHC.Word.Word32, parGcThreads :: GHC.Word.Word32, setAffinity :: GHC.Types.Bool}
  type ProfFlags :: *
  data ProfFlags
    = ProfFlags {doHeapProfile :: DoHeapProfile, heapProfileInterval :: RtsTime, heapProfileIntervalTicks :: GHC.Types.Word, startHeapProfileAtStartup :: GHC.Types.Bool, startTimeProfileAtStartup :: GHC.Types.Bool, showCCSOnException :: GHC.Types.Bool, maxRetainerSetSize :: GHC.Types.Word, ccsLength :: GHC.Types.Word, modSelector :: GHC.Maybe.Maybe GHC.Base.String, descrSelector :: GHC.Maybe.Maybe GHC.Base.String, typeSelector :: GHC.Maybe.Maybe GHC.Base.String, ccSelector :: GHC.Maybe.Maybe GHC.Base.String, ccsSelector :: GHC.Maybe.Maybe GHC.Base.String, retainerSelector :: GHC.Maybe.Maybe GHC.Base.String, bioSelector :: GHC.Maybe.Maybe GHC.Base.String}
  data RTSFlags = RTSFlags {gcFlags :: GCFlags, concurrentFlags :: ConcFlags, miscFlags :: MiscFlags, debugFlags :: DebugFlags, costCentreFlags :: CCFlags, profilingFlags :: ProfFlags, traceFlags :: TraceFlags, tickyFlags :: TickyFlags, parFlags :: ParFlags, hpcFlags :: HpcFlags}
  type RtsTime :: *
  type RtsTime = GHC.Word.Word64
  type TickyFlags :: *
  data TickyFlags = TickyFlags {showTickyStats :: GHC.Types.Bool, tickyFile :: GHC.Maybe.Maybe GHC.IO.FilePath}
  type TraceFlags :: *
  data TraceFlags = TraceFlags {tracing :: DoTrace, timestamp :: GHC.Types.Bool, traceScheduler :: GHC.Types.Bool, traceGc :: GHC.Types.Bool, traceNonmovingGc :: GHC.Types.Bool, sparksSampled :: GHC.Types.Bool, sparksFull :: GHC.Types.Bool, user :: GHC.Types.Bool}
  getCCFlags :: GHC.Types.IO CCFlags
  getConcFlags :: GHC.Types.IO ConcFlags
  getDebugFlags :: GHC.Types.IO DebugFlags
  getGCFlags :: GHC.Types.IO GCFlags
  getHpcFlags :: GHC.Types.IO HpcFlags
  getIoManagerFlag :: GHC.Types.IO IoSubSystem
  getMiscFlags :: GHC.Types.IO MiscFlags
  getParFlags :: GHC.Types.IO ParFlags
  getProfFlags :: GHC.Types.IO ProfFlags
  getRTSFlags :: GHC.Types.IO RTSFlags
  getTickyFlags :: GHC.Types.IO TickyFlags
  getTraceFlags :: GHC.Types.IO TraceFlags

module GHC.Read where
  -- Safety: Trustworthy
  type Read :: * -> Constraint
  class Read a where
    readsPrec :: GHC.Types.Int -> ReadS a
    readList :: ReadS [a]
    readPrec :: Text.ParserCombinators.ReadPrec.ReadPrec a
    readListPrec :: Text.ParserCombinators.ReadPrec.ReadPrec [a]
    {-# MINIMAL readsPrec | readPrec #-}
  type ReadS :: * -> *
  type ReadS a = GHC.Base.String -> [(a, GHC.Base.String)]
  choose :: forall a. [(GHC.Base.String, Text.ParserCombinators.ReadPrec.ReadPrec a)] -> Text.ParserCombinators.ReadPrec.ReadPrec a
  expectP :: Text.Read.Lex.Lexeme -> Text.ParserCombinators.ReadPrec.ReadPrec ()
  lex :: ReadS GHC.Base.String
  lexDigits :: ReadS GHC.Base.String
  lexLitChar :: ReadS GHC.Base.String
  lexP :: Text.ParserCombinators.ReadPrec.ReadPrec Text.Read.Lex.Lexeme
  list :: forall a. Text.ParserCombinators.ReadPrec.ReadPrec a -> Text.ParserCombinators.ReadPrec.ReadPrec [a]
  paren :: forall a. Text.ParserCombinators.ReadPrec.ReadPrec a -> Text.ParserCombinators.ReadPrec.ReadPrec a
  parens :: forall a. Text.ParserCombinators.ReadPrec.ReadPrec a -> Text.ParserCombinators.ReadPrec.ReadPrec a
  readField :: forall a. GHC.Base.String -> Text.ParserCombinators.ReadPrec.ReadPrec a -> Text.ParserCombinators.ReadPrec.ReadPrec a
  readFieldHash :: forall a. GHC.Base.String -> Text.ParserCombinators.ReadPrec.ReadPrec a -> Text.ParserCombinators.ReadPrec.ReadPrec a
  readListDefault :: forall a. Read a => ReadS [a]
  readListPrecDefault :: forall a. Read a => Text.ParserCombinators.ReadPrec.ReadPrec [a]
  readLitChar :: ReadS GHC.Types.Char
  readNumber :: forall a. GHC.Num.Num a => (Text.Read.Lex.Lexeme -> Text.ParserCombinators.ReadPrec.ReadPrec a) -> Text.ParserCombinators.ReadPrec.ReadPrec a
  readParen :: forall a. GHC.Types.Bool -> ReadS a -> ReadS a
  readSymField :: forall a. GHC.Base.String -> Text.ParserCombinators.ReadPrec.ReadPrec a -> Text.ParserCombinators.ReadPrec.ReadPrec a

module GHC.Real where
  -- Safety: Trustworthy
  (%) :: forall a. Integral a => a -> a -> Ratio a
  type Fractional :: * -> Constraint
  class GHC.Num.Num a => Fractional a where
    (/) :: a -> a -> a
    recip :: a -> a
    fromRational :: Rational -> a
    {-# MINIMAL fromRational, (recip | (/)) #-}
  type FractionalExponentBase :: *
  data FractionalExponentBase = Base2 | Base10
  type Integral :: * -> Constraint
  class (Real a, GHC.Enum.Enum a) => Integral a where
    quot :: a -> a -> a
    rem :: a -> a -> a
    div :: a -> a -> a
    mod :: a -> a -> a
    quotRem :: a -> a -> (a, a)
    divMod :: a -> a -> (a, a)
    toInteger :: a -> GHC.Num.Integer.Integer
    {-# MINIMAL quotRem, toInteger #-}
  type Ratio :: * -> *
  data Ratio a = !a :% !a
  type Rational :: *
  type Rational = Ratio GHC.Num.Integer.Integer
  type Real :: * -> Constraint
  class (GHC.Num.Num a, GHC.Classes.Ord a) => Real a where
    toRational :: a -> Rational
    {-# MINIMAL toRational #-}
  type RealFrac :: * -> Constraint
  class (Real a, Fractional a) => RealFrac a where
    properFraction :: forall b. Integral b => a -> (b, a)
    truncate :: forall b. Integral b => a -> b
    round :: forall b. Integral b => a -> b
    ceiling :: forall b. Integral b => a -> b
    floor :: forall b. Integral b => a -> b
    {-# MINIMAL properFraction #-}
  (^) :: forall a b. (GHC.Num.Num a, Integral b) => a -> b -> a
  (^%^) :: forall a. Integral a => Rational -> a -> Rational
  (^^) :: forall a b. (Fractional a, Integral b) => a -> b -> a
  (^^%^^) :: forall a. Integral a => Rational -> a -> Rational
  denominator :: forall a. Ratio a -> a
  divZeroError :: forall a. a
  even :: forall a. Integral a => a -> GHC.Types.Bool
  fromIntegral :: forall a b. (Integral a, GHC.Num.Num b) => a -> b
  gcd :: forall a. Integral a => a -> a -> a
  infinity :: Rational
  integralEnumFrom :: forall a. (Integral a, GHC.Enum.Bounded a) => a -> [a]
  integralEnumFromThen :: forall a. (Integral a, GHC.Enum.Bounded a) => a -> a -> [a]
  integralEnumFromThenTo :: forall a. Integral a => a -> a -> a -> [a]
  integralEnumFromTo :: forall a. Integral a => a -> a -> [a]
  lcm :: forall a. Integral a => a -> a -> a
  mkRationalBase10 :: Rational -> GHC.Num.Integer.Integer -> Rational
  mkRationalBase2 :: Rational -> GHC.Num.Integer.Integer -> Rational
  mkRationalWithExponentBase :: Rational -> GHC.Num.Integer.Integer -> FractionalExponentBase -> Rational
  notANumber :: Rational
  numerator :: forall a. Ratio a -> a
  numericEnumFrom :: forall a. Fractional a => a -> [a]
  numericEnumFromThen :: forall a. Fractional a => a -> a -> [a]
  numericEnumFromThenTo :: forall a. (GHC.Classes.Ord a, Fractional a) => a -> a -> a -> [a]
  numericEnumFromTo :: forall a. (GHC.Classes.Ord a, Fractional a) => a -> a -> [a]
  odd :: forall a. Integral a => a -> GHC.Types.Bool
  overflowError :: forall a. a
  powImpl :: forall a b. (GHC.Num.Num a, Integral b) => a -> b -> a
  powImplAcc :: forall a b. (GHC.Num.Num a, Integral b) => a -> b -> a -> a
  ratioPrec :: GHC.Types.Int
  ratioPrec1 :: GHC.Types.Int
  ratioZeroDenominatorError :: forall a. a
  realToFrac :: forall a b. (Real a, Fractional b) => a -> b
  reduce :: forall a. Integral a => a -> a -> Ratio a
  showSigned :: forall a. Real a => (a -> GHC.Show.ShowS) -> GHC.Types.Int -> a -> GHC.Show.ShowS
  underflowError :: forall a. a

module GHC.Records where
  -- Safety: Trustworthy
  type HasField :: forall {k}. k -> * -> * -> Constraint
  class HasField x r a | x r -> a where
    getField :: r -> a
    {-# MINIMAL getField #-}

module GHC.ResponseFile where
  -- Safety: Trustworthy
  escapeArgs :: [GHC.Base.String] -> GHC.Base.String
  expandResponse :: [GHC.Base.String] -> GHC.Types.IO [GHC.Base.String]
  getArgsWithResponseFiles :: GHC.Types.IO [GHC.Base.String]
  unescapeArgs :: GHC.Base.String -> [GHC.Base.String]

module GHC.ST where
  -- Safety: Unsafe
  type role ST nominal representational
  type ST :: * -> * -> *
  newtype ST s a = ST (STRep s a)
  type STRep :: * -> * -> *
  type STRep s a = GHC.Prim.State# s -> (# GHC.Prim.State# s, a #)
  type role STret nominal representational