Can you give an example of something more complicated in systemd? If I ever had to do anything like that, I would just do it in a different layer, like have a simple systemd unit pointing to a complicated init script that contains the logic.
Well yeah, you would have to. Might as well use initv then. That's the point. At least then you can debug and not have a black box you can't really see into. It is horrid design. Hacker News is getting worse, same thing horrid design . Horrid design is caused by the goals and abilities of the designer clashing with the goals and abilities of the user, and when designers are selfish and want ALL the control the product if useful to less and less people over time. Happens a lot because often the design goal is a hidden desire to wall off functionality to reserve it's usefulness to a select group deemed worthy.
Except when would you have to? Please describe something you did that was complicated and hard to debug in systemd.