fromhera.workflowsimportDAG,Workflow,script@script()deffoo(p):ifp<0.5:raiseException(p)print(42)withWorkflow(generate_name="complex-deps-",entrypoint="d")asw:withDAG(name="d"):A=foo(name="a",arguments={"p":0.6})B=foo(name="b",arguments={"p":0.3})C=foo(name="c",arguments={"p":0.7})D=foo(name="d",arguments={"p":0.9})A>>[B,C]# here, D depends on A, B, and C. If A succeeds and one of B or C fails, D still runs[A,(B|C)]>>D