I happen to teach (a lovely) course on Functional Programming (in Romanian). I use Haskell for the labs. I think that Haskell-as-a-language is particularly well suited for teaching and learning functional programming.
As for the implementation, I use GHC. GHC is absolutely great, and it is now well-suited to being used in practice on a variety of projects.
When I started with GHC, it was sufficient to install GHC, using the system package manager. You also need an editor and you are good to go. Cabal was in its infancy, with not that many people using it.
Then came Stack. Stack is a build tool, likely inspired by the then recent and popular Rails framework for Ruby. Stack is also really useful for managing larger projects. Although there is some overlap with Cabal, it is not too bad.
This was the status quo for several years. To install Haskell, my students, most of which use the Windows operating system, would download the Haskell Platform, click Next repeatedly, and end up with a working local install (trivial).
Then came ghcup. Surely enough, it also solves a real world problem: many engineers need to use different versions of Haskell on the same system. It has some overlap with stack, but again, it is not terribly bad.
All of these tools are just part of the natural evolution of the Haskell ecosystem.
They do overlap with the system package manager (e.g., apt for Ubuntu, brew/ports for Mac, etc.), which is not great.
But: the major issue is that it has now become increasingly difficult to get a local Windows installation of Haskell to work properly. You have to install PowerShell, run a script, etc. Not as easy as clicking Next in an installer.
I think that the impact of this issue should not be underestimated over the long term. It is not even unique to Haskell: Python, OCaml, Node, they all share this very issue. What is good for building software at scale is not great for learning. Mitigations like working in a prebuilt environment like a browser tab do not quite cut the mustard (at least yet).
I am convinced that many of us who know how to program have nice memories of starting out with either boot-to-BASIC systems or IDEs like Turbo Pascal, which were dead fast to start tinkering around with. What will the next generation fondly remember about their journey into programming?
At least that doesn't involve cmake.