I did some brainstorming on paper about the compute graph and found some interesting ideas which clicked together with the diffuse library.
Specifically, I found a good way to select compute nodes which depend on a piece of data, via a hierarchical structure.