Note that Haskell extensions all compile (straight-forwardly) down to a relatively bare (typed) language.<p>That is, the set of fundamental concepts exposed is no greater than the bare language, except the higher abstraction allows controlling which subset of the power is exposed so that type inference can be kept, and various syntactic sugar can be used.<p>Haskell (with virtually all extensions used) doesn&#x27;t have that many fundamental concepts, and a small minority of extensions actually are fundamental at all.