ability to not pickle the cache of a CachedDict, and less recursion in BranchingDict
funky pickling of these things