I noticed that the spec interpreter fails this test (should be a type mismatch):
(module
(global i32 (i32.const 0))
(export "g" (global 0)))
(register "foo")
(assert_unlinkable
(module (import "foo" "g" (global f32)))
"blah")
Seems like an oversight?