Previously we could emit a warning and generate a potentially invalid
wasm module (due to call sites and functions having conflicting
signatures). Now, rather than create invalid binaries we handle such
cases by creating stub functions containing unreachable, effectively
turning these into runtime errors rather than validation failures.
Fixes PR40470
Could you add a short comment here saying that if one symbol is a function and the other is not a function, it is always a function type error?