Haskell is opinionated, and forces you to consider all the state up front before calling a function.
I got a kick out of that phrasing. In my mind, being opinionated is when you have N options and you prefer one for reasons that are you opinion. In the case of Haskell, it’s less of an opinion but more than the language doesn’t let you solve problems any other way (without doing some ugly stuff). Not that any version is right or wrong, just caught my eye as a weird, and IMO slightly misleading, way to phrase the situation.