<div dir="ltr">I noticed that there are massive amount of CPP pragmas to switch code between GHC and non-GHC (e.g. <a href="https://github.com/haskell/containers/blob/v0.6.2.1/containers/src/Data/IntMap/Internal.hs#L4">https://github.com/haskell/containers/blob/v0.6.2.1/containers/src/Data/IntMap/Internal.hs#L4</a>), and they are a burden for maintainers. Moreover, the non-GHC part of the codebase is untested due to the lack of viable alternative compilers (<a href="https://github.com/haskell/containers/pull/728#discussion_r436318206">https://github.com/haskell/containers/pull/728#discussion_r436318206</a>).<div><br></div><div>Therefore I propose to revisit the policy for portability of core libraries. Portability is not a bad thing, but few people use other compilers these days. The drag is only likely to increase because there's no plan (AFAIK) for a new Haskell standard.</div></div>