help wantedpriority: low
Description
The module system actually uses them interchangeably, assuming that numbers get converted to strings. However, in modules.js, we currently keep them around as number | string, as use that as indices into maps and elements of sets, where numbers and strings are getting distinguished.
We should systematically convert all modules ids to strings, and then consider replacing some of those Maps with plain Object.