Currently we pay the price of boxing and unboxing the arguments even if when not needed.
In the generated ModuleExports class we are invoking functions using the generic lookup mechanism:
instance.exports().function("xyz");
When the module is compiled(especially build-time), we can optimize and generate the direct invocation without boxing/unboxing, something like:
MyModuleMachineFuncGroup_0.func_123(arg0, arg1);