Which ones?
Which ones?
What set Haskell apart is how it successfully limited side effect to the IO type and the introduction of type classes.
Laziness by default is definitely a bad design choice as far as I'm concerned. The drawbacks are not worth it.
Honestly though there weren't too many outright "mistakes", but some parts of Haskell have evolved significantly, for example the introduction of the IO monad and all the associated type classes, compared to the original based on infinite lazy lists.
The most obvious one (and, admittedly, the one that immediately comes to mind at almost 3AM) is their exclusion of non-linear patterns. It didn't reduce complexity, yet made the language worse for the purpose the professor stated in an obvious way.