Check out what I wrote earlier about how WAForth dynamically generates and links WASM code! By just reading the WASM documentation I didn't realize it was possible to call back into JavaScript to dynamically create and link in WASM code on the fly, but WAForth opened my eyes to that, by compiling each FORTH word definition into a tiny little module and linking them all together. No (practical) limit on the number of modules that you can use in the same WASM app. It would be cool for a game editor app to have a visual programming language that compiles directly to WASM that way, so you can edit code at runtime.