Maybe I’m confused, do you mean when you set --parallel it doesn’t just run all tasks in parallel, but instead only if it’s possible based on the dependencies? And it does so transitively?
a depends [b c d e]
c depends [b f g]
Now run a in parallel and what happens?