> one of the primary complaints of heard about Elm is that there are no escape hatches, so if it doesn't support your use case you just straight up can't use it.
Elm has JavaScript interop.
Here's the section of the guide that covers how to use it:
It technically has it, but I think it's fair to say it's very unergonomic and only useful for dire needs
In contrasts, TypeScripts success seems to be in no small part due to the fact that it's trivial to drop down to the full flexibility of JavaScript as and when needed, and that it has the full JS ecosystem available to it.