What is the problem with DistributedDriver? And regarding the join ... on DSL, that would make it slightly more complicated there... the price for splitting this operation in two DSL calls, but I don't see how it would be as complicated as tree-rewriting.