A scala dsl for dataflow