Systemd *is* a lot of binaries. Check out the tab completion on `system<Tab>`. Even so, the tradeoff for lots of binaries is that now IPC is a problem if they're long running. If you get too many, now you have to validate the parsers of the IPC endpoints as well. At some point relying on the C compiler for checking arguments and such gets to be much easier there. The problem is usually in finding that line.