What should happen when a WasmExportedFunction is passed as the callable to new WebAssembly.Function? I was not able to find this case in the proposal.
My guess would be that a signature check should happen: if the signature of the WasmExportedFunction matches the signature passed to new WebAssembly.Function, then the WasmExportedFunction is returned. If the signature does not match, then a TypeError is thrown.