Lots of JS environments use module specifiers which could be either relative or absolute paths. In this case, the module specifier is usually converted into an absolute form, and then that absolute path is used as the key in the module map. However, the conversion/normalization is often done in a host-specific way (since different systems have different specifier syntaxes).
How does the moduleMap of Compartments enable paths to be made absolute, so they can serve as cache keys? What even is the type of the moduleMap exactly?