This is not a blame on the developers, BTW: they do exactly what's documented, and what they learned from the gazillion tutorials and guides out there.
Dependency injection, separation of pure and impure operations, throw early / catch late, encapsulation, abstraction of data access: all very much out of the window, heh.
It's SEP anyway, amirite?