Modules in the Interface File should be shared/deduplicated
In the interface Name symbol table, it is wasteful to repeat the
(package,module) pair for every serialized name. Almost certainly we
repeat the combination (my-pk, A.B) in many entries, because if we refer
to one entity from A.B we probably refer to others.
Using a deduplication table makes Modules shared both in the interface
file and on the heap -- once we decode a Module from a deduplication
table, we'll share it across all Names which use that module.
Previously, we'd get a newly-allocated but duplicate Module per
deserialized Name.
Patch incoming
issue