Admin message

Due to a large amount of spam we do not allow new users to create repositories, they are "external" users. If you are a new user and want to create a repository, for example for forking GHC, open a new issue on ghc/ghc using the "get-verified" issue template

`toIntegralSized :: Integer -> Maybe Int` has suboptimal Core
```haskell integer_to_int :: Integer -> Maybe Int integer_to_int = toIntegralSized ``` `ghc-9.2.1-alpha1 -O2 -fforce-recomp -ddump-simpl -dsuppress-uniques -dsuppress-all` produces the following Core: ``` -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} integer_to_int1 = 9223372036854775807 -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} integer_to_int2 = -9223372036854775808 -- RHS size: {terms: 22, types: 7, coercions: 0, joins: 0/0} integer_to_int = \ x -> case integerLe# integer_to_int2 x of { __DEFAULT -> Nothing; 1# -> case integerLe# x integer_to_int1 of { __DEFAULT -> Nothing; 1# -> Just (case integerToInt# x of wild2 { __DEFAULT -> I# wild2 }) } } ``` It would be nice if we could exploit the [documented invariant](https://downloads.haskell.org/ghc/9.2.1-alpha1/docs/html/libraries/ghc-bignum-1.0/GHC-Num-Integer.html#t:Integer) that any `Int`-sized `Integer` will be represented with the `IS` constructor. The resulting Core should look roughly like this: ``` integer_to_int = \ x -> case x of { __DEFAULT -> Nothing; IS y -> Just (I# y) } ``` Could this be accomplished by adding a `RULE`?
issue