The OP addresses your question, saying he is not advocating for removing laziness, but does have some specific suggestions.
> I'm not advocating for removing laziness in Haskell. In fact I'm not really advocating for much of anything in this series. I'm just complaining, because I like complaining.
> But if I was to advocate some changes:
* Deprecate partial functions
* Introduce a naming scheme for partial functions to be more obvious
* Introduce a compiler warning to note partial function use (with a pragma to turn off specific usages)
* Warn by default on partial pattern matches
* Advocate strict data fields by default