> All high-level programming languages are on board with abstractions, pretty much by definition!
They all provide abstractions, but they're not necessarily on board with letting users build new abstractions. Go is famously absolutely not on board with it for instance. Elm significantly less so — and I think the more restricted use-case also makes the issue significantly less problematic, at least it was in my (admittedly limited) experience — but it's still way downslope from the likes of Haskell or OCaml.
All high-level programming languages are on board with abstractions, pretty much by definition!