Tests now passing on all implementations, and there's been substantial clean-up. Likely the first two commits on this branch should be merged with the plan branch directly, since they don't have anything to do with read dependencies per se. Then we could move on to reviewing (and then squash-merging) read-depends. Cheers, r