We have had some issues over there years where emscripten itself stops using a runtime or JS library function and we would like to remove it because its now dead code and untested.
See the discussion on #14009.
It would be nice if we could find a way to avoid this in the future. I see two ways to improve the situation.
Avoid exposing internals going forward
The runtime and JS library system doesn't really have a good way to avoid exposing all of its internals to the user-level library.js code and EM_ASM code. Can we find a way to expose less to the user's library code so we can iterate on internals with impunity?
Create some kind of deprecation path
When a runtime function is up for removal/deprecation it would be good to have a plan for how long to keep it alive, and how to keep it tested.