So we can start with literal objects whose keys are operator names, and
whose values are arrays of implementations, and merge them, and then
replace every value with the overloaded function it specifies.
Note that the changes to module resolution cause steps one and two no longer
to run because node can't find the imports, although they still compile fine.
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Reviewed-on: #4