use an SRLatch for cache_valids, at least it reduces graphviz size