First attempt at reconciling user defined operators with modules
Make the test suite pass
More tests, plus fixing a bug in JS generation