Solid state disks. Huge speed boost.
That was an amazing boost that I'm so very glad to have purchased. Ironically enough, it was to have enough space to install Cyberpunk 2077 :)
Funny you should mention type classes-- that's one of the biggest things that Elm, the little brother to Haskell in many ways, doesn't support (and doesn't intend to, for reasons of limiting the footguns available to devs and also keeping to the high standard it sets for itself for error messages IIRC...)
But golly, Haskell has (had) a lot of hype. Monads, lazy evaluation, random lens stuff is fine and all, but type classes are unreal. you get to specify up front what capabilities you want to buy into.
I guess, just try implementing Num of Float as the first derivative. It's pretty magical how much power the compiler provides. And you _know_ it's doing what you think it's doing.
Haskell opens up a bunch of rabbit holes. but really getting a good grasp on interfaces that don't leak is, well from my background, really really mind expanding. There's a large difference between being real smart and having the compiler enforce assumptions. I dunno. I think the Haskell hype lives up to the claims from type classes alone.
You should have seen the leap from tapes to magnetic disks :)