A few years ago when I was still learning Haskell and typeclasses I was a bit surprised to learn that Haskell had this fancy typeclass feature but prelude hardly made use of it. I had been using Haskell for over a year already and didn&#x27;t understand one of its best features because it wasn&#x27;t exposed to me. A bit disgruntled I asked in the IRC channel about this and they explained to me that this was actually intentional.<p>It was at that time thought that by keeping prelude simple (pure FP 101 style) it was more accessible to new programmers.<p>Apparently that mindset was reconsidered recently.<p>So the big downside is that now if you teach Haskell and want to use Prelude, you&#x27;ll be forced to almost immediately teach typeclasses.<p>In my opinion that&#x27;s not a bad thing at all. Typeclasses put Haskell (and FP in general) right in league with big feature languages like C# and Java. All big features of Haskell are implemented using typeclasses (such as the reputable IO monad). Not teaching that as a fundamental feature right at the beginning only makes the next hurdle of the more category theory heavy advanced features of Haskell that much higher.