It looks like you&#x27;ve written your own language rather than make it an embedded DSL so you can really enforce what the tasks can read and write. That&#x27;s admirable - I&#x27;ve done research with dataflow and I always did embedded DSLs (in Scala, Ruby, Haskell and Java) and it was always a bit of handwaving and arguing that people should avoid breaking the rules. Being able to enforce it must be great.<p>But did you find it was hard to implement enough of a language to run useful benchmarks?