This means that exported objects get reconstructed in every module that imports them, leading to duplicate type definitions.
Additionally, prototypes are registered by given name rather than assigned name. Importing with an alias will ultimately break all of this.