Here is some changes in module structure, and add/replace optimizations ...

...for non-hashable values are forwarded in additional diff lookup.