The new Emscripten has a number of changes. It modernizes its usage of JS, which requires some config updates.
Unfortunately it also ends up requiring a lot more boilerplate, largely because our template hacks for vectors and optional no longer work. The idiomatic solution is to use `register_optional` and `register_vector`, but the former is annoying because it doesn't allow `null` and the latter is annoying because it corresponds to some specific vector type in JS instead of native arrays.
Depends on D15367