In low-level packages like bytestring and storablevector we have pragmas like {-# INLINE [1] func #-} The attached patch ignores the number, that specifies the optimizer phase where inlining shall happen. Ignoring that information is certainly not the best way, since an "inline only in phase x" may be meant as "better inline too seldom than too often". But this way I might get bytestring compiled without many modifications. At least I like to give a warning, when phase information is ignored, but I could not get that for now. Now when compiling Data.ByteString I am lost at: ./Data/ByteString.hs:1942 - Error: Unknown name: illegalOperationErrorType ./Data/ByteString.hs:1942 - Error: Unknown name: mkIOError cabal: Error: some packages failed to install: bytestring-0.9.1.5 failed during the building phase. The exception was: I don't know what the current state of exceptions in JHC is.