Here is some changes in module structure, and add/replace optimizations for non-hashable values are forwarded in additional diff lookup.