Julik's central design principle: systems that mix the DAG definition with the imperative node code (Temporal's `5.times { sleep 30.days }`, acidic_job/HYA/Active Job Continuation inside `perform`) are deceptive — they hide forks, idempotency and persistence semantics. Good systems (Terraform, Nuke) keep the DAG (HCL / Tcl) and the node implementations (Go providers / C++ DSOs) far apart. In Rails, metaprogramming makes this natural: steps live in the class definition (the DAG), blocks inside steps are imperative node code.