// TODO: Eventually replace hand-crafted merging logic with merge-by-template, once it can support this usecase properly(tm)
// TODO: Fix merge-by-template so that reasonable error messages can be generated here, that are actually aware of eg. the conflicting key
// TODO: Disallow modules with duplicate names? This may be necessary to prevent issues with getModuleContext, which provides name-based context access
lettypes=createTypeTracker();
lettypeExtensions=createExtensionTracker();
letnameToID=newMap();// TODO: Make this a tracker abstraction?