Back then /everything/ was a special case and everything needed to be programmed as such.
This is literally why JCL is a nightmare.
The genius of Ken & Dennis was to boil all the special cases down to one simple abstraction.
(Look at the socket API to if you want an example what happens when people dont understand the importance of sticking with the dominant abstraction.)
(1) In 1972, I was at Georgetown U., and IBM was proposing that we buy a 370/135 with virtual memory.
(2) In 1973 there was the IBM 360/67 with 31 bit addressing, virtual memory, and virtual machine.The virtual machine software was CP/67 (Control Program 67), and the user interface was from CMS (Conversational Monitor System). I programmed it in PL/I to schedule the fleet at FedEx.
Basically, that decade saw the continuation and growth of the hacker culture that started in the early 60’s on trivially small machines (google spacewar). As there were no small machines, things were more social / collaborative than now out of necessity. And yeah, the hardware is bazillion times faster but the software less so as code bloat is real.