Shims (implementations of built-in functionality missing from your current interpreter) are a mature concept in JS. I love that there are even standards now, setting expectations for how to plug them in: https://github.com/es-shims/es-shim-api (An incomplete, best-effort shim is a "sham"!)