09:02
<nicolo-ribaudo>

Yes, it's synthesizing a fresh module namespace exotic object. It was originally deduping using as cache key the sorted list of bindings, but after receiving some feedback we stopped doing that because:

  • the cache is more complex than the one for normal namespaces (up to 2^<number of exports> entries, multi-keyed) for an expected much lower hit rate
  • some delegates felt like the syntax { ... } as x is "creating" a new object, rather than returning something existing of the module