Fixed bug when inferring type for id (0 :: Int)
Fixed bug when inferring type for id (0 :: Int)

id has the type (a -> a) which when unified would give a => Int but as only the argument is known to be Int, when unifying the return type the a => Int substitution would be replaced by a => a1. By applying the substitution before entering the next TypeOperator this is avoided.

Marwes/haskell-compiler