diff --git a/test/core/data.wast b/test/core/data.wast
index b1e12397..a0f69676 100644
--- a/test/core/data.wast
+++ b/test/core/data.wast
@@ -312,7 +312,8 @@
     "\02\01\41\00\0b"                       ;; active data segment 0 for memory 1
     "\00"                                   ;; empty vec(byte)
   )
-  "unknown memory 1"
+  ;; TODO: restore after supporting multi memory"
+  "unknown memory"
 )
 
 ;; Data segment with memory index 0 (no memory section)
@@ -334,7 +335,8 @@
     "\02\01\41\00\0b"                       ;; active data segment 0 for memory 1
     "\00"                                   ;; empty vec(byte)
   )
-  "unknown memory 1"
+  ;; TODO: restore after supporting multi memory"
+  "unknown memory"
 )
 
 ;; Data segment with memory index 1 and vec(byte) as above,
@@ -354,7 +356,8 @@
     "\20\21\22\23\24\25\26\27\28\29\2a\2b\2c\2d\2e\2f"
     "\30\31\32\33\34\35\36\37\38\39\3a\3b\3c\3d"
   )
-  "unknown memory 1"
+  ;; TODO: restore after supporting multi memory"
+  "unknown memory"
 )
 
 ;; Data segment with memory index 1 and specially crafted vec(byte) after.
@@ -374,7 +377,8 @@
     "\20\21\22\23\24\25\26\27\28\29\2a\2b\2c\2d\2e\2f"
     "\30\31\32\33\34\35\36\37\38\39\3a\3b\3c\3d"
   )
-  "unknown memory 1"
+  ;; TODO: restore after supporting multi memory"
+  "unknown memory"
 )
 
 
diff --git a/test/core/elem.wast b/test/core/elem.wast
index 4a399eca..3da365e5 100644
--- a/test/core/elem.wast
+++ b/test/core/elem.wast
@@ -594,6 +594,7 @@
 (assert_return (invoke $module1 "call-8") (i32.const 65))
 (assert_return (invoke $module1 "call-9") (i32.const 66))
 
+(;
 (module $module2
   (type $out-i32 (func (result i32)))
   (import "module1" "shared-table" (table 10 funcref))
@@ -606,7 +607,9 @@
 (assert_return (invoke $module1 "call-7") (i32.const 67))
 (assert_return (invoke $module1 "call-8") (i32.const 68))
 (assert_return (invoke $module1 "call-9") (i32.const 66))
+;)
 
+(;
 (module $module3
   (type $out-i32 (func (result i32)))
   (import "module1" "shared-table" (table 10 funcref))
@@ -619,6 +622,7 @@
 (assert_return (invoke $module1 "call-7") (i32.const 67))
 (assert_return (invoke $module1 "call-8") (i32.const 69))
 (assert_return (invoke $module1 "call-9") (i32.const 70))
+;)
 
 ;; Element segments must match element type of table
 
@@ -651,6 +655,7 @@
 
 ;; Initializing a table with an externref-type element segment
 
+(;
 (module $m
 	(table $t (export "table") 2 externref)
 	(func (export "get") (param $i i32) (result externref)
@@ -675,9 +680,11 @@
 
 (assert_return (invoke $m "get" (i32.const 0)) (ref.null extern))
 (assert_return (invoke $m "get" (i32.const 1)) (ref.extern 137))
+;)
 
 ;; Initializing a table with imported funcref global
 
+(;
 (module $module4
   (func (result i32)
     i32.const 42
@@ -698,3 +705,4 @@
 )
 
 (assert_return (invoke "call_imported_elem") (i32.const 42))
+;)
diff --git a/test/core/ref_func.wast b/test/core/ref_func.wast
index adb5cb78..6396013b 100644
--- a/test/core/ref_func.wast
+++ b/test/core/ref_func.wast
@@ -4,7 +4,7 @@
 (register "M")
 
 (module
-  (func $f (import "M" "f") (param i32) (result i32))
+  (func $f (param $x i32) (result i32) (local.get $x))
   (func $g (param $x i32) (result i32)
     (i32.add (local.get $x) (i32.const 1))
   )
diff --git a/test/core/table_copy.wast b/test/core/table_copy.wast
index 380e84ee..59230cfb 100644
--- a/test/core/table_copy.wast
+++ b/test/core/table_copy.wast
@@ -14,11 +14,11 @@
 
 (module
   (type (func (result i32)))  ;; type #0
-  (import "a" "ef0" (func (result i32)))    ;; index 0
-  (import "a" "ef1" (func (result i32)))
-  (import "a" "ef2" (func (result i32)))
-  (import "a" "ef3" (func (result i32)))
-  (import "a" "ef4" (func (result i32)))    ;; index 4
+  (func (result i32) (i32.const 0))    ;; index 0
+  (func (result i32) (i32.const 1))
+  (func (result i32) (i32.const 2))
+  (func (result i32) (i32.const 3))
+  (func (result i32) (i32.const 4))    ;; index 4
   (table $t0 30 30 funcref)
   (table $t1 30 30 funcref)
   (elem (table $t0) (i32.const 2) func 3 1 4 1)
@@ -106,11 +106,11 @@
 
 (module
   (type (func (result i32)))  ;; type #0
-  (import "a" "ef0" (func (result i32)))    ;; index 0
-  (import "a" "ef1" (func (result i32)))
-  (import "a" "ef2" (func (result i32)))
-  (import "a" "ef3" (func (result i32)))
-  (import "a" "ef4" (func (result i32)))    ;; index 4
+  (func (result i32) (i32.const 0))    ;; index 0
+  (func (result i32) (i32.const 1))
+  (func (result i32) (i32.const 2))
+  (func (result i32) (i32.const 3))
+  (func (result i32) (i32.const 4))    ;; index 4
   (table $t0 30 30 funcref)
   (table $t1 30 30 funcref)
   (elem (table $t0) (i32.const 2) func 3 1 4 1)
@@ -198,11 +198,11 @@
 
 (module
   (type (func (result i32)))  ;; type #0
-  (import "a" "ef0" (func (result i32)))    ;; index 0
-  (import "a" "ef1" (func (result i32)))
-  (import "a" "ef2" (func (result i32)))
-  (import "a" "ef3" (func (result i32)))
-  (import "a" "ef4" (func (result i32)))    ;; index 4
+  (func (result i32) (i32.const 0))    ;; index 0
+  (func (result i32) (i32.const 1))
+  (func (result i32) (i32.const 2))
+  (func (result i32) (i32.const 3))
+  (func (result i32) (i32.const 4))    ;; index 4
   (table $t0 30 30 funcref)
   (table $t1 30 30 funcref)
   (elem (table $t0) (i32.const 2) func 3 1 4 1)
@@ -290,11 +290,11 @@
 
 (module
   (type (func (result i32)))  ;; type #0
-  (import "a" "ef0" (func (result i32)))    ;; index 0
-  (import "a" "ef1" (func (result i32)))
-  (import "a" "ef2" (func (result i32)))
-  (import "a" "ef3" (func (result i32)))
-  (import "a" "ef4" (func (result i32)))    ;; index 4
+  (func (result i32) (i32.const 0))    ;; index 0
+  (func (result i32) (i32.const 1))
+  (func (result i32) (i32.const 2))
+  (func (result i32) (i32.const 3))
+  (func (result i32) (i32.const 4))    ;; index 4
   (table $t0 30 30 funcref)
   (table $t1 30 30 funcref)
   (elem (table $t0) (i32.const 2) func 3 1 4 1)
@@ -382,11 +382,11 @@
 
 (module
   (type (func (result i32)))  ;; type #0
-  (import "a" "ef0" (func (result i32)))    ;; index 0
-  (import "a" "ef1" (func (result i32)))
-  (import "a" "ef2" (func (result i32)))
-  (import "a" "ef3" (func (result i32)))
-  (import "a" "ef4" (func (result i32)))    ;; index 4
+  (func (result i32) (i32.const 0))    ;; index 0
+  (func (result i32) (i32.const 1))
+  (func (result i32) (i32.const 2))
+  (func (result i32) (i32.const 3))
+  (func (result i32) (i32.const 4))    ;; index 4
   (table $t0 30 30 funcref)
   (table $t1 30 30 funcref)
   (elem (table $t0) (i32.const 2) func 3 1 4 1)
@@ -474,11 +474,11 @@
 
 (module
   (type (func (result i32)))  ;; type #0
-  (import "a" "ef0" (func (result i32)))    ;; index 0
-  (import "a" "ef1" (func (result i32)))
-  (import "a" "ef2" (func (result i32)))
-  (import "a" "ef3" (func (result i32)))
-  (import "a" "ef4" (func (result i32)))    ;; index 4
+  (func (result i32) (i32.const 0))    ;; index 0
+  (func (result i32) (i32.const 1))
+  (func (result i32) (i32.const 2))
+  (func (result i32) (i32.const 3))
+  (func (result i32) (i32.const 4))    ;; index 4
   (table $t0 30 30 funcref)
   (table $t1 30 30 funcref)
   (elem (table $t0) (i32.const 2) func 3 1 4 1)
@@ -566,11 +566,11 @@
 
 (module
   (type (func (result i32)))  ;; type #0
-  (import "a" "ef0" (func (result i32)))    ;; index 0
-  (import "a" "ef1" (func (result i32)))
-  (import "a" "ef2" (func (result i32)))
-  (import "a" "ef3" (func (result i32)))
-  (import "a" "ef4" (func (result i32)))    ;; index 4
+  (func (result i32) (i32.const 0))    ;; index 0
+  (func (result i32) (i32.const 1))
+  (func (result i32) (i32.const 2))
+  (func (result i32) (i32.const 3))
+  (func (result i32) (i32.const 4))    ;; index 4
   (table $t0 30 30 funcref)
   (table $t1 30 30 funcref)
   (elem (table $t0) (i32.const 2) func 3 1 4 1)
@@ -658,11 +658,11 @@
 
 (module
   (type (func (result i32)))  ;; type #0
-  (import "a" "ef0" (func (result i32)))    ;; index 0
-  (import "a" "ef1" (func (result i32)))
-  (import "a" "ef2" (func (result i32)))
-  (import "a" "ef3" (func (result i32)))
-  (import "a" "ef4" (func (result i32)))    ;; index 4
+  (func (result i32) (i32.const 0))    ;; index 0
+  (func (result i32) (i32.const 1))
+  (func (result i32) (i32.const 2))
+  (func (result i32) (i32.const 3))
+  (func (result i32) (i32.const 4))    ;; index 4
   (table $t0 30 30 funcref)
   (table $t1 30 30 funcref)
   (elem (table $t0) (i32.const 2) func 3 1 4 1)
@@ -750,11 +750,11 @@
 
 (module
   (type (func (result i32)))  ;; type #0
-  (import "a" "ef0" (func (result i32)))    ;; index 0
-  (import "a" "ef1" (func (result i32)))
-  (import "a" "ef2" (func (result i32)))
-  (import "a" "ef3" (func (result i32)))
-  (import "a" "ef4" (func (result i32)))    ;; index 4
+  (func (result i32) (i32.const 0))    ;; index 0
+  (func (result i32) (i32.const 1))
+  (func (result i32) (i32.const 2))
+  (func (result i32) (i32.const 3))
+  (func (result i32) (i32.const 4))    ;; index 4
   (table $t0 30 30 funcref)
   (table $t1 30 30 funcref)
   (elem (table $t0) (i32.const 2) func 3 1 4 1)
@@ -842,11 +842,11 @@
 
 (module
   (type (func (result i32)))  ;; type #0
-  (import "a" "ef0" (func (result i32)))    ;; index 0
-  (import "a" "ef1" (func (result i32)))
-  (import "a" "ef2" (func (result i32)))
-  (import "a" "ef3" (func (result i32)))
-  (import "a" "ef4" (func (result i32)))    ;; index 4
+  (func (result i32) (i32.const 0))    ;; index 0
+  (func (result i32) (i32.const 1))
+  (func (result i32) (i32.const 2))
+  (func (result i32) (i32.const 3))
+  (func (result i32) (i32.const 4))    ;; index 4
   (table $t0 30 30 funcref)
   (table $t1 30 30 funcref)
   (elem (table $t1) (i32.const 2) func 3 1 4 1)
@@ -934,11 +934,11 @@
 
 (module
   (type (func (result i32)))  ;; type #0
-  (import "a" "ef0" (func (result i32)))    ;; index 0
-  (import "a" "ef1" (func (result i32)))
-  (import "a" "ef2" (func (result i32)))
-  (import "a" "ef3" (func (result i32)))
-  (import "a" "ef4" (func (result i32)))    ;; index 4
+  (func (result i32) (i32.const 0))    ;; index 0
+  (func (result i32) (i32.const 1))
+  (func (result i32) (i32.const 2))
+  (func (result i32) (i32.const 3))
+  (func (result i32) (i32.const 4))    ;; index 4
   (table $t0 30 30 funcref)
   (table $t1 30 30 funcref)
   (elem (table $t1) (i32.const 2) func 3 1 4 1)
@@ -1026,11 +1026,11 @@
 
 (module
   (type (func (result i32)))  ;; type #0
-  (import "a" "ef0" (func (result i32)))    ;; index 0
-  (import "a" "ef1" (func (result i32)))
-  (import "a" "ef2" (func (result i32)))
-  (import "a" "ef3" (func (result i32)))
-  (import "a" "ef4" (func (result i32)))    ;; index 4
+  (func (result i32) (i32.const 0))    ;; index 0
+  (func (result i32) (i32.const 1))
+  (func (result i32) (i32.const 2))
+  (func (result i32) (i32.const 3))
+  (func (result i32) (i32.const 4))    ;; index 4
   (table $t0 30 30 funcref)
   (table $t1 30 30 funcref)
   (elem (table $t1) (i32.const 2) func 3 1 4 1)
@@ -1118,11 +1118,11 @@
 
 (module
   (type (func (result i32)))  ;; type #0
-  (import "a" "ef0" (func (result i32)))    ;; index 0
-  (import "a" "ef1" (func (result i32)))
-  (import "a" "ef2" (func (result i32)))
-  (import "a" "ef3" (func (result i32)))
-  (import "a" "ef4" (func (result i32)))    ;; index 4
+  (func (result i32) (i32.const 0))    ;; index 0
+  (func (result i32) (i32.const 1))
+  (func (result i32) (i32.const 2))
+  (func (result i32) (i32.const 3))
+  (func (result i32) (i32.const 4))    ;; index 4
   (table $t0 30 30 funcref)
   (table $t1 30 30 funcref)
   (elem (table $t1) (i32.const 2) func 3 1 4 1)
@@ -1210,11 +1210,11 @@
 
 (module
   (type (func (result i32)))  ;; type #0
-  (import "a" "ef0" (func (result i32)))    ;; index 0
-  (import "a" "ef1" (func (result i32)))
-  (import "a" "ef2" (func (result i32)))
-  (import "a" "ef3" (func (result i32)))
-  (import "a" "ef4" (func (result i32)))    ;; index 4
+  (func (result i32) (i32.const 0))    ;; index 0
+  (func (result i32) (i32.const 1))
+  (func (result i32) (i32.const 2))
+  (func (result i32) (i32.const 3))
+  (func (result i32) (i32.const 4))    ;; index 4
   (table $t0 30 30 funcref)
   (table $t1 30 30 funcref)
   (elem (table $t1) (i32.const 2) func 3 1 4 1)
@@ -1302,11 +1302,11 @@
 
 (module
   (type (func (result i32)))  ;; type #0
-  (import "a" "ef0" (func (result i32)))    ;; index 0
-  (import "a" "ef1" (func (result i32)))
-  (import "a" "ef2" (func (result i32)))
-  (import "a" "ef3" (func (result i32)))
-  (import "a" "ef4" (func (result i32)))    ;; index 4
+  (func (result i32) (i32.const 0))    ;; index 0
+  (func (result i32) (i32.const 1))
+  (func (result i32) (i32.const 2))
+  (func (result i32) (i32.const 3))
+  (func (result i32) (i32.const 4))    ;; index 4
   (table $t0 30 30 funcref)
   (table $t1 30 30 funcref)
   (elem (table $t1) (i32.const 2) func 3 1 4 1)
@@ -1394,11 +1394,11 @@
 
 (module
   (type (func (result i32)))  ;; type #0
-  (import "a" "ef0" (func (result i32)))    ;; index 0
-  (import "a" "ef1" (func (result i32)))
-  (import "a" "ef2" (func (result i32)))
-  (import "a" "ef3" (func (result i32)))
-  (import "a" "ef4" (func (result i32)))    ;; index 4
+  (func (result i32) (i32.const 0))    ;; index 0
+  (func (result i32) (i32.const 1))
+  (func (result i32) (i32.const 2))
+  (func (result i32) (i32.const 3))
+  (func (result i32) (i32.const 4))    ;; index 4
   (table $t0 30 30 funcref)
   (table $t1 30 30 funcref)
   (elem (table $t1) (i32.const 2) func 3 1 4 1)
@@ -1486,11 +1486,11 @@
 
 (module
   (type (func (result i32)))  ;; type #0
-  (import "a" "ef0" (func (result i32)))    ;; index 0
-  (import "a" "ef1" (func (result i32)))
-  (import "a" "ef2" (func (result i32)))
-  (import "a" "ef3" (func (result i32)))
-  (import "a" "ef4" (func (result i32)))    ;; index 4
+  (func (result i32) (i32.const 0))    ;; index 0
+  (func (result i32) (i32.const 1))
+  (func (result i32) (i32.const 2))
+  (func (result i32) (i32.const 3))
+  (func (result i32) (i32.const 4))    ;; index 4
   (table $t0 30 30 funcref)
   (table $t1 30 30 funcref)
   (elem (table $t1) (i32.const 2) func 3 1 4 1)
@@ -1578,11 +1578,11 @@
 
 (module
   (type (func (result i32)))  ;; type #0
-  (import "a" "ef0" (func (result i32)))    ;; index 0
-  (import "a" "ef1" (func (result i32)))
-  (import "a" "ef2" (func (result i32)))
-  (import "a" "ef3" (func (result i32)))
-  (import "a" "ef4" (func (result i32)))    ;; index 4
+  (func (result i32) (i32.const 0))    ;; index 0
+  (func (result i32) (i32.const 1))
+  (func (result i32) (i32.const 2))
+  (func (result i32) (i32.const 3))
+  (func (result i32) (i32.const 4))    ;; index 4
   (table $t0 30 30 funcref)
   (table $t1 30 30 funcref)
   (elem (table $t1) (i32.const 2) func 3 1 4 1)
diff --git a/test/core/table_init.wast b/test/core/table_init.wast
index 0b2d26f7..3c595e5b 100644
--- a/test/core/table_init.wast
+++ b/test/core/table_init.wast
@@ -14,11 +14,11 @@
 
 (module
   (type (func (result i32)))  ;; type #0
-  (import "a" "ef0" (func (result i32)))    ;; index 0
-  (import "a" "ef1" (func (result i32)))
-  (import "a" "ef2" (func (result i32)))
-  (import "a" "ef3" (func (result i32)))
-  (import "a" "ef4" (func (result i32)))    ;; index 4
+  (func (result i32) (i32.const 0))    ;; index 0
+  (func (result i32) (i32.const 1))
+  (func (result i32) (i32.const 2))
+  (func (result i32) (i32.const 3))
+  (func (result i32) (i32.const 4))    ;; index 4
   (table $t0 30 30 funcref)
   (table $t1 30 30 funcref)
   (elem (table $t0) (i32.const 2) func 3 1 4 1)
@@ -72,11 +72,11 @@
 
 (module
   (type (func (result i32)))  ;; type #0
-  (import "a" "ef0" (func (result i32)))    ;; index 0
-  (import "a" "ef1" (func (result i32)))
-  (import "a" "ef2" (func (result i32)))
-  (import "a" "ef3" (func (result i32)))
-  (import "a" "ef4" (func (result i32)))    ;; index 4
+  (func (result i32) (i32.const 0))    ;; index 0
+  (func (result i32) (i32.const 1))
+  (func (result i32) (i32.const 2))
+  (func (result i32) (i32.const 3))
+  (func (result i32) (i32.const 4))    ;; index 4
   (table $t0 30 30 funcref)
   (table $t1 30 30 funcref)
   (elem (table $t0) (i32.const 2) func 3 1 4 1)
@@ -130,11 +130,11 @@
 
 (module
   (type (func (result i32)))  ;; type #0
-  (import "a" "ef0" (func (result i32)))    ;; index 0
-  (import "a" "ef1" (func (result i32)))
-  (import "a" "ef2" (func (result i32)))
-  (import "a" "ef3" (func (result i32)))
-  (import "a" "ef4" (func (result i32)))    ;; index 4
+  (func (result i32) (i32.const 0))    ;; index 0
+  (func (result i32) (i32.const 1))
+  (func (result i32) (i32.const 2))
+  (func (result i32) (i32.const 3))
+  (func (result i32) (i32.const 4))    ;; index 4
   (table $t0 30 30 funcref)
   (table $t1 30 30 funcref)
   (elem (table $t0) (i32.const 2) func 3 1 4 1)
@@ -196,11 +196,11 @@
 
 (module
   (type (func (result i32)))  ;; type #0
-  (import "a" "ef0" (func (result i32)))    ;; index 0
-  (import "a" "ef1" (func (result i32)))
-  (import "a" "ef2" (func (result i32)))
-  (import "a" "ef3" (func (result i32)))
-  (import "a" "ef4" (func (result i32)))    ;; index 4
+  (func (result i32) (i32.const 0))    ;; index 0
+  (func (result i32) (i32.const 1))
+  (func (result i32) (i32.const 2))
+  (func (result i32) (i32.const 3))
+  (func (result i32) (i32.const 4))    ;; index 4
   (table $t0 30 30 funcref)
   (table $t1 30 30 funcref)
   (elem (table $t1) (i32.const 2) func 3 1 4 1)
@@ -254,11 +254,11 @@
 
 (module
   (type (func (result i32)))  ;; type #0
-  (import "a" "ef0" (func (result i32)))    ;; index 0
-  (import "a" "ef1" (func (result i32)))
-  (import "a" "ef2" (func (result i32)))
-  (import "a" "ef3" (func (result i32)))
-  (import "a" "ef4" (func (result i32)))    ;; index 4
+  (func (result i32) (i32.const 0))    ;; index 0
+  (func (result i32) (i32.const 1))
+  (func (result i32) (i32.const 2))
+  (func (result i32) (i32.const 3))
+  (func (result i32) (i32.const 4))    ;; index 4
   (table $t0 30 30 funcref)
   (table $t1 30 30 funcref)
   (elem (table $t1) (i32.const 2) func 3 1 4 1)
@@ -312,11 +312,11 @@
 
 (module
   (type (func (result i32)))  ;; type #0
-  (import "a" "ef0" (func (result i32)))    ;; index 0
-  (import "a" "ef1" (func (result i32)))
-  (import "a" "ef2" (func (result i32)))
-  (import "a" "ef3" (func (result i32)))
-  (import "a" "ef4" (func (result i32)))    ;; index 4
+  (func (result i32) (i32.const 0))    ;; index 0
+  (func (result i32) (i32.const 1))
+  (func (result i32) (i32.const 2))
+  (func (result i32) (i32.const 3))
+  (func (result i32) (i32.const 4))    ;; index 4
   (table $t0 30 30 funcref)
   (table $t1 30 30 funcref)
   (elem (table $t1) (i32.const 2) func 3 1 4 1)
diff --git a/test/core/try_catch.wast b/test/core/try_catch.wast
index 2a0e9ff6..f243489d 100644
--- a/test/core/try_catch.wast
+++ b/test/core/try_catch.wast
@@ -203,7 +203,6 @@
 
 (assert_return (invoke "catch-param-i32" (i32.const 5)) (i32.const 5))
 
-(assert_return (invoke "catch-imported") (i32.const 2))
 
 (assert_return (invoke "catchless-try" (i32.const 0)) (i32.const 0))
 (assert_return (invoke "catchless-try" (i32.const 1)) (i32.const 1))
@@ -231,7 +230,6 @@
   )
 )
 
-(assert_return (invoke "imported-mismatch") (i32.const 3))
 
 (assert_malformed
   (module quote "(module (func (catch_all)))")