diff --git a/std/assembly/string.ts b/std/assembly/string.ts
index b6ca9f73..c1a343c2 100644
--- a/std/assembly/string.ts
+++ b/std/assembly/string.ts
@@ -42,7 +42,7 @@ export class String {
       );
     } else {
       code -= 0x10000;
-      let hi: u32 = (code >>> 10)  + 0xD800;
+      let hi: u32 = (code >>> 10) + 0xD800;
       let lo: u32 = (code & 0x3FF) + 0xDC00;
       store<u32>(
         changetype<usize>(out),
@@ -110,9 +110,9 @@ export class String {
     assert(this !== null);
     if (other === null) other = changetype<String>("null");
 
-    var thisLen: isize = this.length;
+    var thisLen: isize  = this.length;
     var otherLen: isize = other.length;
-    var outLen: usize = thisLen + otherLen;
+    var outLen: usize   = thisLen + otherLen;
     if (outLen == 0) return changetype<String>("");
     var out = allocateUnsafe(outLen);
     copyUnsafe(out, 0, this, 0, thisLen);
@@ -141,6 +141,11 @@ export class String {
     return !compareUnsafe(left, 0, right, 0, leftLength);
   }
 
+  @operator.prefix("!")
+  private static __not(str: String): bool {
+    return str === null || !str.length;
+  }
+
   @operator("!=")
   private static __ne(left: String, right: String): bool {
     return !this.__eq(left, right);
@@ -345,8 +350,8 @@ export class String {
     var out = allocateUnsafe(targetLength);
     if (len > padLen) {
       let count = (len - 1) / padLen;
-      let base  = count * padLen;
-      let rest  = len - base;
+      let base = count * padLen;
+      let rest = len - base;
       repeatUnsafe(out, 0, padString, count);
       if (rest) copyUnsafe(out, base, padString, 0, rest);
     } else {
@@ -394,9 +399,9 @@ export class String {
   }
 
   slice(beginIndex: i32, endIndex: i32 = i32.MAX_VALUE): String {
-    var len = this.length;
+    var len   = this.length;
     var begin = beginIndex < 0 ? max(beginIndex + len, 0) : min(beginIndex, len);
-    var end = endIndex < 0 ? max(endIndex + len, 0) : min(endIndex, len);
+    var end   = endIndex   < 0 ? max(endIndex   + len, 0) : min(endIndex,   len);
     len = end - begin;
     if (len <= 0) return changetype<String>("");
     var out = allocateUnsafe(len);
@@ -512,7 +517,7 @@ export class String {
         cp = (
           (cp                       &  7) << 18 |
           (load<u8>(ptr + ptrPos++) & 63) << 12 |
-          (load<u8>(ptr + ptrPos++) & 63) << 6  |
+          (load<u8>(ptr + ptrPos++) & 63) <<  6 |
            load<u8>(ptr + ptrPos++) & 63
         ) - 0x10000;
         store<u16>(buf + bufPos, 0xD800 + (cp >> 10));
@@ -523,7 +528,7 @@ export class String {
         assert(ptrPos + 2 <= len);
         store<u16>(buf + bufPos,
           (cp                       & 15) << 12 |
-          (load<u8>(ptr + ptrPos++) & 63) << 6  |
+          (load<u8>(ptr + ptrPos++) & 63) <<  6 |
            load<u8>(ptr + ptrPos++) & 63
         );
         bufPos += 2;
@@ -548,8 +553,8 @@ export class String {
         ++off; ++pos;
       } else if (c1 < 2048) {
         let ptr = buf + off;
-        store<u8>(ptr, c1 >> 6      | 192);
-        store<u8>(ptr, c1      & 63 | 128, 1);
+        store<u8>(ptr, c1 >> 6 | 192);
+        store<u8>(ptr, c1 & 63 | 128, 1);
         off += 2; ++pos;
       } else {
         let ptr = buf + off;
@@ -559,15 +564,15 @@ export class String {
             c1 = 0x10000 + ((c1 & 0x03FF) << 10) + (c2 & 0x03FF);
             store<u8>(ptr, c1 >> 18      | 240);
             store<u8>(ptr, c1 >> 12 & 63 | 128, 1);
-            store<u8>(ptr, c1 >> 6  & 63 | 128, 2);
+            store<u8>(ptr, c1 >>  6 & 63 | 128, 2);
             store<u8>(ptr, c1       & 63 | 128, 3);
             off += 4; pos += 2;
             continue;
           }
         }
-        store<u8>(ptr, c1 >> 12      | 224);
-        store<u8>(ptr, c1 >> 6  & 63 | 128, 1);
-        store<u8>(ptr, c1       & 63 | 128, 2);
+        store<u8>(ptr, c1 >> 12     | 224);
+        store<u8>(ptr, c1 >> 6 & 63 | 128, 1);
+        store<u8>(ptr, c1      & 63 | 128, 2);
         off += 3; ++pos;
       }
     }
diff --git a/tests/compiler/number.optimized.wat b/tests/compiler/number.optimized.wat
index fd82f14b..30eaa202 100644
--- a/tests/compiler/number.optimized.wat
+++ b/tests/compiler/number.optimized.wat
@@ -2348,7 +2348,7 @@
   if
    i32.const 0
    i32.const 2072
-   i32.const 249
+   i32.const 254
    i32.const 4
    call $~lib/env/abort
    unreachable
diff --git a/tests/compiler/number.untouched.wat b/tests/compiler/number.untouched.wat
index 950ff574..8a36243e 100644
--- a/tests/compiler/number.untouched.wat
+++ b/tests/compiler/number.untouched.wat
@@ -3525,7 +3525,7 @@
   if
    i32.const 0
    i32.const 2072
-   i32.const 249
+   i32.const 254
    i32.const 4
    call $~lib/env/abort
    unreachable
diff --git a/tests/compiler/std/array-access.optimized.wat b/tests/compiler/std/array-access.optimized.wat
index 20c3bfb6..a9133fb2 100644
--- a/tests/compiler/std/array-access.optimized.wat
+++ b/tests/compiler/std/array-access.optimized.wat
@@ -115,7 +115,7 @@
   if
    i32.const 0
    i32.const 16
-   i32.const 224
+   i32.const 229
    i32.const 4
    call $~lib/env/abort
    unreachable
diff --git a/tests/compiler/std/array-access.untouched.wat b/tests/compiler/std/array-access.untouched.wat
index 185c18b0..fb344029 100644
--- a/tests/compiler/std/array-access.untouched.wat
+++ b/tests/compiler/std/array-access.untouched.wat
@@ -199,7 +199,7 @@
   if
    i32.const 0
    i32.const 16
-   i32.const 224
+   i32.const 229
    i32.const 4
    call $~lib/env/abort
    unreachable
diff --git a/tests/compiler/std/array.optimized.wat b/tests/compiler/std/array.optimized.wat
index 43bff187..abb65df0 100644
--- a/tests/compiler/std/array.optimized.wat
+++ b/tests/compiler/std/array.optimized.wat
@@ -6238,7 +6238,7 @@
   if
    i32.const 0
    i32.const 4056
-   i32.const 249
+   i32.const 254
    i32.const 4
    call $~lib/env/abort
    unreachable
diff --git a/tests/compiler/std/array.untouched.wat b/tests/compiler/std/array.untouched.wat
index f4e84c17..5d7c3e9b 100644
--- a/tests/compiler/std/array.untouched.wat
+++ b/tests/compiler/std/array.untouched.wat
@@ -11617,7 +11617,7 @@
   if
    i32.const 0
    i32.const 4056
-   i32.const 249
+   i32.const 254
    i32.const 4
    call $~lib/env/abort
    unreachable
diff --git a/tests/compiler/std/string-utf8.optimized.wat b/tests/compiler/std/string-utf8.optimized.wat
index e2f911a4..d1c6bb54 100644
--- a/tests/compiler/std/string-utf8.optimized.wat
+++ b/tests/compiler/std/string-utf8.optimized.wat
@@ -1525,7 +1525,7 @@
       if
        i32.const 0
        i32.const 72
-       i32.const 507
+       i32.const 512
        i32.const 8
        call $~lib/env/abort
        unreachable
@@ -1572,7 +1572,7 @@
        if
         i32.const 0
         i32.const 72
-        i32.const 511
+        i32.const 516
         i32.const 8
         call $~lib/env/abort
         unreachable
@@ -1651,7 +1651,7 @@
        if
         i32.const 0
         i32.const 72
-        i32.const 523
+        i32.const 528
         i32.const 8
         call $~lib/env/abort
         unreachable
@@ -1706,7 +1706,7 @@
   if
    i32.const 0
    i32.const 72
-   i32.const 532
+   i32.const 537
    i32.const 4
    call $~lib/env/abort
    unreachable
diff --git a/tests/compiler/std/string-utf8.untouched.wat b/tests/compiler/std/string-utf8.untouched.wat
index f5568db2..2e159138 100644
--- a/tests/compiler/std/string-utf8.untouched.wat
+++ b/tests/compiler/std/string-utf8.untouched.wat
@@ -2008,7 +2008,7 @@
         if
          i32.const 0
          i32.const 72
-         i32.const 507
+         i32.const 512
          i32.const 8
          call $~lib/env/abort
          unreachable
@@ -2062,7 +2062,7 @@
          if
           i32.const 0
           i32.const 72
-          i32.const 511
+          i32.const 516
           i32.const 8
           call $~lib/env/abort
           unreachable
@@ -2157,7 +2157,7 @@
          if
           i32.const 0
           i32.const 72
-          i32.const 523
+          i32.const 528
           i32.const 8
           call $~lib/env/abort
           unreachable
@@ -2220,7 +2220,7 @@
   if
    i32.const 0
    i32.const 72
-   i32.const 532
+   i32.const 537
    i32.const 4
    call $~lib/env/abort
    unreachable
diff --git a/tests/compiler/std/string.optimized.wat b/tests/compiler/std/string.optimized.wat
index 1c1b1621..bdbcd96d 100644
--- a/tests/compiler/std/string.optimized.wat
+++ b/tests/compiler/std/string.optimized.wat
@@ -20,17 +20,17 @@
  (data (i32.const 8) "\10\00\00\00h\00i\00,\00 \00I\00\'\00m\00 \00a\00 \00s\00t\00r\00i\00n\00g")
  (data (i32.const 48) "\0d\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s")
  (data (i32.const 80) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s")
- (data (i32.const 112) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s")
- (data (i32.const 168) "\01")
- (data (i32.const 176) "\01\00\00\006")
- (data (i32.const 184) "\02\00\00\004\d8\06\df")
- (data (i32.const 192) "\02\00\00\00h\00i")
- (data (i32.const 200) "\04\00\00\00n\00u\00l\00l")
- (data (i32.const 216) "\06\00\00\00s\00t\00r\00i\00n\00g")
- (data (i32.const 232) "\03\00\00\00I\00\'\00m")
- (data (i32.const 248) "\01\00\00\00 ")
- (data (i32.const 264) "\03\00\00\00 \00 \00 ")
- (data (i32.const 280) "\01\00\00\00a")
+ (data (i32.const 120) "\01")
+ (data (i32.const 128) "\01\00\00\00a")
+ (data (i32.const 136) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s")
+ (data (i32.const 192) "\01\00\00\006")
+ (data (i32.const 200) "\02\00\00\004\d8\06\df")
+ (data (i32.const 208) "\02\00\00\00h\00i")
+ (data (i32.const 216) "\04\00\00\00n\00u\00l\00l")
+ (data (i32.const 232) "\06\00\00\00s\00t\00r\00i\00n\00g")
+ (data (i32.const 248) "\03\00\00\00I\00\'\00m")
+ (data (i32.const 264) "\01\00\00\00 ")
+ (data (i32.const 272) "\03\00\00\00 \00 \00 ")
  (data (i32.const 288) "\03\00\00\00a\00b\00c")
  (data (i32.const 304) "\05\00\00\00 \00 \00a\00b\00c")
  (data (i32.const 320) "\03\00\00\001\002\003")
@@ -293,7 +293,7 @@
   i32.eqz
   if
    i32.const 0
-   i32.const 112
+   i32.const 136
    i32.const 14
    i32.const 2
    call $~lib/env/abort
@@ -458,12 +458,12 @@
   if
    i32.const 0
    i32.const 80
-   i32.const 224
+   i32.const 229
    i32.const 4
    call $~lib/env/abort
    unreachable
   end
-  i32.const 192
+  i32.const 208
   i32.load
   local.tee $2
   i32.const 0
@@ -484,7 +484,7 @@
   end
   local.get $0
   local.get $3
-  i32.const 192
+  i32.const 208
   local.get $2
   call $~lib/internal/string/compareUnsafe
   i32.eqz
@@ -515,7 +515,7 @@
   local.get $2
   i32.lt_s
   select
-  i32.const 216
+  i32.const 232
   i32.load
   local.tee $1
   i32.sub
@@ -528,7 +528,7 @@
   end
   local.get $0
   local.get $2
-  i32.const 216
+  i32.const 232
   local.get $1
   call $~lib/internal/string/compareUnsafe
   i32.eqz
@@ -542,13 +542,13 @@
   if
    i32.const 0
    i32.const 80
-   i32.const 193
+   i32.const 198
    i32.const 4
    call $~lib/env/abort
    unreachable
   end
   local.get $1
-  i32.const 200
+  i32.const 216
   local.get $1
   select
   local.tee $1
@@ -1895,7 +1895,7 @@
   if
    i32.const 0
    i32.const 80
-   i32.const 340
+   i32.const 345
    i32.const 4
    call $~lib/env/abort
    unreachable
@@ -1987,7 +1987,7 @@
     end
     unreachable
    end
-   i32.const 248
+   i32.const 264
    local.set $2
   end
   local.get $0
@@ -2004,7 +2004,7 @@
   if
    i32.const 0
    i32.const 80
-   i32.const 360
+   i32.const 365
    i32.const 4
    call $~lib/env/abort
    unreachable
@@ -2099,7 +2099,7 @@
     end
     unreachable
    end
-   i32.const 248
+   i32.const 264
    local.set $2
   end
   local.get $0
@@ -2115,7 +2115,7 @@
   if
    i32.const 0
    i32.const 80
-   i32.const 209
+   i32.const 214
    i32.const 4
    call $~lib/env/abort
    unreachable
@@ -2124,7 +2124,7 @@
   i32.load
   local.set $3
   local.get $1
-  i32.const 200
+  i32.const 216
   local.get $1
   select
   local.tee $1
@@ -2543,7 +2543,7 @@
          if
           i32.const 0
           i32.const 80
-          i32.const 625
+          i32.const 630
           i32.const 10
           call $~lib/env/abort
           unreachable
@@ -2620,7 +2620,7 @@
   i32.load
   local.tee $3
   local.get $1
-  i32.const 200
+  i32.const 216
   local.get $1
   select
   local.tee $1
@@ -2630,7 +2630,7 @@
   local.tee $2
   i32.eqz
   if
-   i32.const 256
+   i32.const 112
    return
   end
   local.get $2
@@ -2651,7 +2651,7 @@
  )
  (func $~lib/string/String.__concat (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
   local.get $0
-  i32.const 200
+  i32.const 216
   local.get $0
   select
   local.get $1
@@ -2780,7 +2780,7 @@
   i32.eqz
  )
  (func $~lib/string/String.__lte (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
-  i32.const 256
+  i32.const 112
   local.get $0
   call $~lib/string/String.__gt
   i32.eqz
@@ -2793,7 +2793,7 @@
   if
    i32.const 0
    i32.const 80
-   i32.const 380
+   i32.const 385
    i32.const 4
    call $~lib/env/abort
    unreachable
@@ -2818,7 +2818,7 @@
   if
    i32.const 0
    i32.const 80
-   i32.const 385
+   i32.const 390
    i32.const 6
    call $~lib/env/abort
    unreachable
@@ -2834,7 +2834,7 @@
   end
   local.get $2
   if
-   i32.const 256
+   i32.const 112
    return
   end
   local.get $1
@@ -2909,7 +2909,7 @@
   i32.const 0
   i32.le_s
   if
-   i32.const 256
+   i32.const 112
    return
   end
   local.get $2
@@ -3376,7 +3376,7 @@
   if
    i32.const 0
    i32.const 80
-   i32.const 408
+   i32.const 413
    i32.const 4
    call $~lib/env/abort
    unreachable
@@ -3421,7 +3421,7 @@
     call $~lib/array/Array<~lib/string/String>#constructor
     local.tee $0
     i32.load
-    i32.const 256
+    i32.const 112
     i32.store offset=8
     local.get $0
     i32.load
@@ -3515,7 +3515,7 @@
      call $~lib/array/Array<~lib/string/String>#push
     else     
      local.get $2
-     i32.const 256
+     i32.const 112
      call $~lib/array/Array<~lib/string/String>#push
     end
     local.get $5
@@ -3571,7 +3571,7 @@
    call $~lib/array/Array<~lib/string/String>#push
   else   
    local.get $2
-   i32.const 256
+   i32.const 112
    call $~lib/array/Array<~lib/string/String>#push
   end
   local.get $2
@@ -5072,7 +5072,7 @@
   if
    i32.const 0
    i32.const 80
-   i32.const 249
+   i32.const 254
    i32.const 4
    call $~lib/env/abort
    unreachable
@@ -5115,7 +5115,7 @@
   local.tee $3
   i32.eqz
   if
-   i32.const 256
+   i32.const 112
    return
   end
   local.get $1
@@ -5188,7 +5188,7 @@
   i32.eqz
   if
    i32.const 0
-   i32.const 112
+   i32.const 136
    i32.const 28
    i32.const 4
    call $~lib/env/abort
@@ -5238,11 +5238,8 @@
    call $~lib/env/abort
    unreachable
   end
-  i32.const 0
-  call $~lib/string/String.fromCharCode
-  i32.const 168
-  call $~lib/string/String.__eq
-  i32.eqz
+  i32.const 112
+  i32.load
   if
    i32.const 0
    i32.const 48
@@ -5251,11 +5248,12 @@
    call $~lib/env/abort
    unreachable
   end
-  i32.const 54
-  call $~lib/string/String.fromCharCode
-  i32.const 176
-  call $~lib/string/String.__eq
+  i32.const 120
+  i32.load
   i32.eqz
+  i32.eqz
+  i32.const 1
+  i32.ne
   if
    i32.const 0
    i32.const 48
@@ -5264,11 +5262,12 @@
    call $~lib/env/abort
    unreachable
   end
-  i32.const 65590
-  call $~lib/string/String.fromCharCode
-  i32.const 176
-  call $~lib/string/String.__eq
+  i32.const 128
+  i32.load
   i32.eqz
+  i32.eqz
+  i32.const 1
+  i32.ne
   if
    i32.const 0
    i32.const 48
@@ -5278,8 +5277,8 @@
    unreachable
   end
   i32.const 0
-  call $~lib/string/String.fromCodePoint
-  i32.const 168
+  call $~lib/string/String.fromCharCode
+  i32.const 120
   call $~lib/string/String.__eq
   i32.eqz
   if
@@ -5291,8 +5290,8 @@
    unreachable
   end
   i32.const 54
-  call $~lib/string/String.fromCodePoint
-  i32.const 176
+  call $~lib/string/String.fromCharCode
+  i32.const 192
   call $~lib/string/String.__eq
   i32.eqz
   if
@@ -5303,13 +5302,52 @@
    call $~lib/env/abort
    unreachable
   end
+  i32.const 65590
+  call $~lib/string/String.fromCharCode
+  i32.const 192
+  call $~lib/string/String.__eq
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 27
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
+  i32.const 0
+  call $~lib/string/String.fromCodePoint
+  i32.const 120
+  call $~lib/string/String.__eq
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 29
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
+  i32.const 54
+  call $~lib/string/String.fromCodePoint
+  i32.const 192
+  call $~lib/string/String.__eq
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 30
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
   i32.const 119558
   call $~lib/string/String.fromCodePoint
   i32.eqz
   if
-   i32.const 184
+   i32.const 200
    i32.const 48
-   i32.const 27
+   i32.const 31
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5320,7 +5358,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 29
+   i32.const 33
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5349,13 +5387,13 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 30
+   i32.const 34
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
   global.get $std/string/str
-  i32.const 232
+  i32.const 248
   i32.const 0
   call $~lib/string/String#indexOf
   i32.const -1
@@ -5363,7 +5401,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 31
+   i32.const 35
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5379,7 +5417,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 33
+   i32.const 37
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5395,53 +5433,53 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 34
+   i32.const 38
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
   i32.const 1
   global.set $~lib/argc
-  i32.const 256
+  i32.const 112
   i32.const 3
   call $~lib/string/String#padStart|trampoline
-  i32.const 264
+  i32.const 272
   call $~lib/string/String.__eq
   i32.eqz
   if
    i32.const 0
    i32.const 48
-   i32.const 35
+   i32.const 39
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
-  i32.const 256
+  i32.const 112
   i32.const 10
-  i32.const 256
+  i32.const 112
   call $~lib/string/String#padStart
-  i32.const 256
+  i32.const 112
   call $~lib/string/String.__eq
   i32.eqz
   if
    i32.const 0
    i32.const 48
-   i32.const 36
+   i32.const 40
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
-  i32.const 280
+  i32.const 128
   i32.const 100
-  i32.const 256
+  i32.const 112
   call $~lib/string/String#padStart
-  i32.const 280
+  i32.const 128
   call $~lib/string/String.__eq
   i32.eqz
   if
    i32.const 0
    i32.const 48
-   i32.const 37
+   i32.const 41
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5457,7 +5495,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 38
+   i32.const 42
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5472,7 +5510,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 39
+   i32.const 43
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5487,7 +5525,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 40
+   i32.const 44
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5503,7 +5541,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 42
+   i32.const 46
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5519,53 +5557,53 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 43
+   i32.const 47
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
   i32.const 1
   global.set $~lib/argc
-  i32.const 256
+  i32.const 112
   i32.const 3
   call $~lib/string/String#padEnd|trampoline
-  i32.const 264
+  i32.const 272
   call $~lib/string/String.__eq
   i32.eqz
   if
    i32.const 0
    i32.const 48
-   i32.const 44
+   i32.const 48
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
-  i32.const 256
+  i32.const 112
   i32.const 10
-  i32.const 256
+  i32.const 112
   call $~lib/string/String#padEnd
-  i32.const 256
+  i32.const 112
   call $~lib/string/String.__eq
   i32.eqz
   if
    i32.const 0
    i32.const 48
-   i32.const 45
+   i32.const 49
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
-  i32.const 280
+  i32.const 128
   i32.const 100
-  i32.const 256
+  i32.const 112
   call $~lib/string/String#padEnd
-  i32.const 280
+  i32.const 128
   call $~lib/string/String.__eq
   i32.eqz
   if
    i32.const 0
    i32.const 48
-   i32.const 46
+   i32.const 50
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5581,7 +5619,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 47
+   i32.const 51
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5596,7 +5634,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 48
+   i32.const 52
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5611,25 +5649,25 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 49
+   i32.const 53
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
-  i32.const 256
-  i32.const 256
+  i32.const 112
+  i32.const 112
   i32.const 0
   call $~lib/string/String#indexOf
   if
    i32.const 0
    i32.const 48
-   i32.const 51
+   i32.const 55
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
-  i32.const 256
-  i32.const 192
+  i32.const 112
+  i32.const 208
   i32.const 0
   call $~lib/string/String#indexOf
   i32.const -1
@@ -5637,19 +5675,19 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 52
+   i32.const 56
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
-  i32.const 280
-  i32.const 280
+  i32.const 128
+  i32.const 128
   i32.const 0
   call $~lib/string/String#indexOf
   if
    i32.const 0
    i32.const 48
-   i32.const 53
+   i32.const 57
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5662,19 +5700,19 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 54
+   i32.const 58
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
   global.get $std/string/str
-  i32.const 256
+  i32.const 112
   i32.const 0
   call $~lib/string/String#indexOf
   if
    i32.const 0
    i32.const 48
-   i32.const 55
+   i32.const 59
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5688,7 +5726,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 56
+   i32.const 60
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5702,7 +5740,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 57
+   i32.const 61
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5716,7 +5754,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 58
+   i32.const 62
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5730,7 +5768,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 59
+   i32.const 63
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5744,35 +5782,35 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 60
+   i32.const 64
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
   i32.const 1
   global.set $~lib/argc
-  i32.const 256
-  i32.const 256
+  i32.const 112
+  i32.const 112
   call $~lib/string/String#lastIndexOf|trampoline
   if
    i32.const 0
    i32.const 48
-   i32.const 62
+   i32.const 66
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
   i32.const 1
   global.set $~lib/argc
-  i32.const 256
-  i32.const 192
+  i32.const 112
+  i32.const 208
   call $~lib/string/String#lastIndexOf|trampoline
   i32.const -1
   i32.ne
   if
    i32.const 0
    i32.const 48
-   i32.const 63
+   i32.const 67
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5780,7 +5818,7 @@
   i32.const 1
   global.set $~lib/argc
   global.get $std/string/str
-  i32.const 256
+  i32.const 112
   call $~lib/string/String#lastIndexOf|trampoline
   global.get $std/string/str
   i32.load
@@ -5788,7 +5826,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 64
+   i32.const 68
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5803,7 +5841,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 65
+   i32.const 69
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5818,7 +5856,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 66
+   i32.const 70
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5833,7 +5871,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 67
+   i32.const 71
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5847,7 +5885,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 68
+   i32.const 72
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5861,7 +5899,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 69
+   i32.const 73
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5875,7 +5913,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 70
+   i32.const 74
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5889,19 +5927,19 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 71
+   i32.const 75
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
   global.get $std/string/str
-  i32.const 192
+  i32.const 208
   i32.const 0
   call $~lib/string/String#lastIndexOf
   if
    i32.const 0
    i32.const 48
-   i32.const 72
+   i32.const 76
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5913,7 +5951,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 78
+   i32.const 82
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5925,7 +5963,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 79
+   i32.const 83
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5937,7 +5975,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 80
+   i32.const 84
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5949,7 +5987,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 81
+   i32.const 85
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5961,7 +5999,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 82
+   i32.const 86
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5973,7 +6011,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 83
+   i32.const 87
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5985,7 +6023,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 84
+   i32.const 88
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -5997,7 +6035,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 85
+   i32.const 89
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -6009,7 +6047,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 87
+   i32.const 91
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -6021,7 +6059,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 88
+   i32.const 92
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -6033,7 +6071,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 89
+   i32.const 93
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -6045,7 +6083,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 90
+   i32.const 94
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -6057,12 +6095,12 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 91
+   i32.const 95
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
-  i32.const 280
+  i32.const 128
   i32.const 648
   call $~lib/string/String.__concat
   global.set $std/string/c
@@ -6070,54 +6108,6 @@
   i32.const 656
   call $~lib/string/String.__eq
   i32.eqz
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 94
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  global.get $std/string/c
-  i32.const 280
-  call $~lib/string/String.__ne
-  i32.eqz
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 95
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  i32.const 256
-  i32.const 256
-  call $~lib/string/String.__eq
-  i32.eqz
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 96
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  i32.const 256
-  global.get $std/string/nullStr
-  call $~lib/string/String.__ne
-  i32.eqz
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 97
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  global.get $std/string/nullStr
-  i32.const 256
-  call $~lib/string/String.__ne
-  i32.eqz
   if
    i32.const 0
    i32.const 48
@@ -6126,8 +6116,8 @@
    call $~lib/env/abort
    unreachable
   end
-  i32.const 280
-  i32.const 648
+  global.get $std/string/c
+  i32.const 128
   call $~lib/string/String.__ne
   i32.eqz
   if
@@ -6138,8 +6128,8 @@
    call $~lib/env/abort
    unreachable
   end
-  i32.const 280
-  i32.const 280
+  i32.const 112
+  i32.const 112
   call $~lib/string/String.__eq
   i32.eqz
   if
@@ -6150,6 +6140,54 @@
    call $~lib/env/abort
    unreachable
   end
+  i32.const 112
+  global.get $std/string/nullStr
+  call $~lib/string/String.__ne
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 101
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
+  global.get $std/string/nullStr
+  i32.const 112
+  call $~lib/string/String.__ne
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 102
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
+  i32.const 128
+  i32.const 648
+  call $~lib/string/String.__ne
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 103
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
+  i32.const 128
+  i32.const 128
+  call $~lib/string/String.__eq
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 104
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
   i32.const 664
   i32.const 680
   call $~lib/string/String.__ne
@@ -6157,7 +6195,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 101
+   i32.const 105
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -6169,7 +6207,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 102
+   i32.const 106
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -6181,7 +6219,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 103
+   i32.const 107
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -6193,7 +6231,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 104
+   i32.const 108
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -6205,7 +6243,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 105
+   i32.const 109
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -6217,7 +6255,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 106
+   i32.const 110
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -6229,31 +6267,31 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 107
+   i32.const 111
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
   i32.const 648
-  i32.const 280
+  i32.const 128
   call $~lib/string/String.__gt
   i32.eqz
   if
    i32.const 0
    i32.const 48
-   i32.const 109
+   i32.const 113
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
   i32.const 864
-  i32.const 280
+  i32.const 128
   call $~lib/string/String.__gt
   i32.eqz
   if
    i32.const 0
    i32.const 48
-   i32.const 110
+   i32.const 114
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -6265,7 +6303,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 111
+   i32.const 115
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -6274,39 +6312,6 @@
   i32.const 656
   call $~lib/string/String.__gt
   i32.eqz
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 112
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  i32.const 864
-  i32.const 656
-  call $~lib/string/String.__lt
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 113
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  i32.const 648
-  global.get $std/string/nullStr
-  call $~lib/string/String.__lt
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 115
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  global.get $std/string/nullStr
-  i32.const 648
-  call $~lib/string/String.__lt
   if
    i32.const 0
    i32.const 48
@@ -6315,22 +6320,20 @@
    call $~lib/env/abort
    unreachable
   end
-  i32.const 288
-  i32.const 256
-  call $~lib/string/String.__gt
-  i32.eqz
+  i32.const 864
+  i32.const 656
+  call $~lib/string/String.__lt
   if
    i32.const 0
    i32.const 48
-   i32.const 118
+   i32.const 117
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
-  i32.const 256
-  i32.const 288
+  i32.const 648
+  global.get $std/string/nullStr
   call $~lib/string/String.__lt
-  i32.eqz
   if
    i32.const 0
    i32.const 48
@@ -6339,10 +6342,9 @@
    call $~lib/env/abort
    unreachable
   end
-  i32.const 288
-  i32.const 256
-  call $~lib/string/String.__gte
-  i32.eqz
+  global.get $std/string/nullStr
+  i32.const 648
+  call $~lib/string/String.__lt
   if
    i32.const 0
    i32.const 48
@@ -6352,19 +6354,9 @@
    unreachable
   end
   i32.const 288
-  call $~lib/string/String.__lte
+  i32.const 112
+  call $~lib/string/String.__gt
   i32.eqz
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 121
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  i32.const 288
-  i32.const 256
-  call $~lib/string/String.__lt
   if
    i32.const 0
    i32.const 48
@@ -6373,9 +6365,10 @@
    call $~lib/env/abort
    unreachable
   end
-  i32.const 256
+  i32.const 112
   i32.const 288
-  call $~lib/string/String.__gt
+  call $~lib/string/String.__lt
+  i32.eqz
   if
    i32.const 0
    i32.const 48
@@ -6384,9 +6377,10 @@
    call $~lib/env/abort
    unreachable
   end
-  i32.const 256
-  i32.const 256
-  call $~lib/string/String.__lt
+  i32.const 288
+  i32.const 112
+  call $~lib/string/String.__gte
+  i32.eqz
   if
    i32.const 0
    i32.const 48
@@ -6395,9 +6389,9 @@
    call $~lib/env/abort
    unreachable
   end
-  i32.const 256
-  i32.const 256
-  call $~lib/string/String.__gt
+  i32.const 288
+  call $~lib/string/String.__lte
+  i32.eqz
   if
    i32.const 0
    i32.const 48
@@ -6406,10 +6400,9 @@
    call $~lib/env/abort
    unreachable
   end
-  i32.const 256
-  i32.const 256
-  call $~lib/string/String.__gte
-  i32.eqz
+  i32.const 288
+  i32.const 112
+  call $~lib/string/String.__lt
   if
    i32.const 0
    i32.const 48
@@ -6418,13 +6411,58 @@
    call $~lib/env/abort
    unreachable
   end
-  i32.const 256
+  i32.const 112
+  i32.const 288
+  call $~lib/string/String.__gt
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 127
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
+  i32.const 112
+  i32.const 112
+  call $~lib/string/String.__lt
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 128
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
+  i32.const 112
+  i32.const 112
+  call $~lib/string/String.__gt
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 129
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
+  i32.const 112
+  i32.const 112
+  call $~lib/string/String.__gte
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 130
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
+  i32.const 112
   call $~lib/string/String.__lte
   i32.eqz
   if
    i32.const 0
    i32.const 48
-   i32.const 127
+   i32.const 131
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -6445,7 +6483,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 131
+   i32.const 135
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -6454,48 +6492,6 @@
   i32.load
   i32.const 3
   i32.ne
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 133
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  i32.const 256
-  i32.const 100
-  call $~lib/string/String#repeat
-  i32.const 256
-  call $~lib/string/String.__eq
-  i32.eqz
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 135
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  i32.const 280
-  i32.const 0
-  call $~lib/string/String#repeat
-  i32.const 256
-  call $~lib/string/String.__eq
-  i32.eqz
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 136
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  i32.const 280
-  i32.const 1
-  call $~lib/string/String#repeat
-  i32.const 280
-  call $~lib/string/String.__eq
-  i32.eqz
   if
    i32.const 0
    i32.const 48
@@ -6504,7 +6500,49 @@
    call $~lib/env/abort
    unreachable
   end
-  i32.const 280
+  i32.const 112
+  i32.const 100
+  call $~lib/string/String#repeat
+  i32.const 112
+  call $~lib/string/String.__eq
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 139
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
+  i32.const 128
+  i32.const 0
+  call $~lib/string/String#repeat
+  i32.const 112
+  call $~lib/string/String.__eq
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 140
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
+  i32.const 128
+  i32.const 1
+  call $~lib/string/String#repeat
+  i32.const 128
+  call $~lib/string/String.__eq
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 141
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
+  i32.const 128
   i32.const 2
   call $~lib/string/String#repeat
   i32.const 872
@@ -6513,12 +6551,12 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 138
+   i32.const 142
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
-  i32.const 280
+  i32.const 128
   i32.const 3
   call $~lib/string/String#repeat
   i32.const 880
@@ -6527,7 +6565,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 139
+   i32.const 143
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -6541,12 +6579,12 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 140
+   i32.const 144
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
-  i32.const 280
+  i32.const 128
   i32.const 5
   call $~lib/string/String#repeat
   i32.const 920
@@ -6555,12 +6593,12 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 141
+   i32.const 145
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
-  i32.const 280
+  i32.const 128
   i32.const 6
   call $~lib/string/String#repeat
   i32.const 936
@@ -6569,12 +6607,12 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 142
+   i32.const 146
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
-  i32.const 280
+  i32.const 128
   i32.const 7
   call $~lib/string/String#repeat
   i32.const 952
@@ -6583,7 +6621,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 143
+   i32.const 147
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -6601,7 +6639,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 147
+   i32.const 151
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -6617,7 +6655,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 148
+   i32.const 152
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -6633,7 +6671,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 149
+   i32.const 153
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -6648,7 +6686,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 150
+   i32.const 154
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -6663,7 +6701,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 151
+   i32.const 155
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -6672,13 +6710,13 @@
   i32.const 4
   i32.const 3
   call $~lib/string/String#slice
-  i32.const 256
+  i32.const 112
   call $~lib/string/String.__eq
   i32.eqz
   if
    i32.const 0
    i32.const 48
-   i32.const 152
+   i32.const 156
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -6693,14 +6731,14 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 153
+   i32.const 157
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
   i32.const 0
   global.set $~lib/argc
-  i32.const 256
+  i32.const 112
   i32.const 0
   call $~lib/string/String#split|trampoline
   global.set $std/string/sa
@@ -6724,7 +6762,7 @@
    else    
     unreachable
    end
-   i32.const 256
+   i32.const 112
    call $~lib/string/String.__eq
   else   
    local.get $0
@@ -6733,15 +6771,15 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 158
+   i32.const 162
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
   i32.const 1
   global.set $~lib/argc
-  i32.const 256
-  i32.const 256
+  i32.const 112
+  i32.const 112
   call $~lib/string/String#split|trampoline
   global.set $std/string/sa
   global.get $std/string/sa
@@ -6749,14 +6787,14 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 160
+   i32.const 164
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
   i32.const 1
   global.set $~lib/argc
-  i32.const 256
+  i32.const 112
   i32.const 432
   call $~lib/string/String#split|trampoline
   global.set $std/string/sa
@@ -6780,7 +6818,7 @@
    else    
     unreachable
    end
-   i32.const 256
+   i32.const 112
    call $~lib/string/String.__eq
   else   
    local.get $0
@@ -6789,7 +6827,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 162
+   i32.const 166
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -6829,7 +6867,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 164
+   i32.const 168
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -6862,7 +6900,7 @@
      else      
       unreachable
      end
-     i32.const 280
+     i32.const 128
      call $~lib/string/String.__eq
      local.set $0
     end
@@ -6917,7 +6955,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 166
+   i32.const 170
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -6950,7 +6988,7 @@
      else      
       unreachable
      end
-     i32.const 280
+     i32.const 128
      call $~lib/string/String.__eq
      local.set $0
     end
@@ -7005,7 +7043,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 168
+   i32.const 172
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7039,7 +7077,7 @@
       else       
        unreachable
       end
-      i32.const 280
+      i32.const 128
       call $~lib/string/String.__eq
       local.set $0
      end
@@ -7085,7 +7123,7 @@
     else     
      unreachable
     end
-    i32.const 256
+    i32.const 112
     call $~lib/string/String.__eq
     local.set $0
    end
@@ -7117,7 +7155,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 170
+   i32.const 174
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7151,7 +7189,7 @@
       else       
        unreachable
       end
-      i32.const 256
+      i32.const 112
       call $~lib/string/String.__eq
       local.set $0
      end
@@ -7174,7 +7212,7 @@
      else      
       unreachable
      end
-     i32.const 280
+     i32.const 128
      call $~lib/string/String.__eq
      local.set $0
     end
@@ -7229,7 +7267,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 172
+   i32.const 176
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7263,7 +7301,7 @@
       else       
        unreachable
       end
-      i32.const 280
+      i32.const 128
       call $~lib/string/String.__eq
       local.set $0
      end
@@ -7332,7 +7370,7 @@
    else    
     unreachable
    end
-   i32.const 256
+   i32.const 112
    call $~lib/string/String.__eq
   else   
    local.get $0
@@ -7341,7 +7379,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 174
+   i32.const 178
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7349,7 +7387,7 @@
   i32.const 1
   global.set $~lib/argc
   i32.const 288
-  i32.const 256
+  i32.const 112
   call $~lib/string/String#split|trampoline
   global.set $std/string/sa
   block (result i32)
@@ -7374,7 +7412,7 @@
      else      
       unreachable
      end
-     i32.const 280
+     i32.const 128
      call $~lib/string/String.__eq
      local.set $0
     end
@@ -7429,13 +7467,13 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 176
+   i32.const 180
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
   i32.const 288
-  i32.const 256
+  i32.const 112
   i32.const 0
   call $~lib/string/String#split
   global.set $std/string/sa
@@ -7444,13 +7482,13 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 178
+   i32.const 182
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
   i32.const 288
-  i32.const 256
+  i32.const 112
   i32.const 1
   call $~lib/string/String#split
   global.set $std/string/sa
@@ -7474,7 +7512,7 @@
    else    
     unreachable
    end
-   i32.const 280
+   i32.const 128
    call $~lib/string/String.__eq
   else   
    local.get $0
@@ -7483,7 +7521,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 180
+   i32.const 184
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7513,7 +7551,7 @@
    else    
     unreachable
    end
-   i32.const 280
+   i32.const 128
    call $~lib/string/String.__eq
   else   
    local.get $0
@@ -7522,13 +7560,13 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 182
+   i32.const 186
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
   i32.const 288
-  i32.const 256
+  i32.const 112
   i32.const 4
   call $~lib/string/String#split
   global.set $std/string/sa
@@ -7554,181 +7592,7 @@
      else      
       unreachable
      end
-     i32.const 280
-     call $~lib/string/String.__eq
-     local.set $0
-    end
-    local.get $0
-   end
-   if
-    i32.const 1
-    global.get $std/string/sa
-    i32.load
-    local.tee $0
-    i32.load
-    i32.const 2
-    i32.shr_u
-    i32.lt_u
-    if (result i32)
-     local.get $0
-     i32.const 4
-     i32.add
-     i32.load offset=8
-    else     
-     unreachable
-    end
-    i32.const 648
-    call $~lib/string/String.__eq
-    local.set $0
-   end
-   local.get $0
-  end
-  if (result i32)
-   i32.const 2
-   global.get $std/string/sa
-   i32.load
-   local.tee $0
-   i32.load
-   i32.const 2
-   i32.shr_u
-   i32.lt_u
-   if (result i32)
-    local.get $0
-    i32.const 8
-    i32.add
-    i32.load offset=8
-   else    
-    unreachable
-   end
-   i32.const 1216
-   call $~lib/string/String.__eq
-  else   
-   local.get $0
-  end
-  i32.eqz
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 184
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  i32.const 288
-  i32.const 256
-  i32.const -1
-  call $~lib/string/String#split
-  global.set $std/string/sa
-  block (result i32)
-   block (result i32)
-    global.get $std/string/sa
-    i32.load offset=4
-    i32.const 3
-    i32.eq
-    local.tee $0
-    if
-     i32.const 0
-     global.get $std/string/sa
-     i32.load
-     local.tee $0
-     i32.load
-     i32.const 2
-     i32.shr_u
-     i32.lt_u
-     if (result i32)
-      local.get $0
-      i32.load offset=8
-     else      
-      unreachable
-     end
-     i32.const 280
-     call $~lib/string/String.__eq
-     local.set $0
-    end
-    local.get $0
-   end
-   if
-    i32.const 1
-    global.get $std/string/sa
-    i32.load
-    local.tee $0
-    i32.load
-    i32.const 2
-    i32.shr_u
-    i32.lt_u
-    if (result i32)
-     local.get $0
-     i32.const 4
-     i32.add
-     i32.load offset=8
-    else     
-     unreachable
-    end
-    i32.const 648
-    call $~lib/string/String.__eq
-    local.set $0
-   end
-   local.get $0
-  end
-  if (result i32)
-   i32.const 2
-   global.get $std/string/sa
-   i32.load
-   local.tee $0
-   i32.load
-   i32.const 2
-   i32.shr_u
-   i32.lt_u
-   if (result i32)
-    local.get $0
-    i32.const 8
-    i32.add
-    i32.load offset=8
-   else    
-    unreachable
-   end
-   i32.const 1216
-   call $~lib/string/String.__eq
-  else   
-   local.get $0
-  end
-  i32.eqz
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 186
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  i32.const 1192
-  i32.const 432
-  i32.const -1
-  call $~lib/string/String#split
-  global.set $std/string/sa
-  block (result i32)
-   block (result i32)
-    global.get $std/string/sa
-    i32.load offset=4
-    i32.const 3
-    i32.eq
-    local.tee $0
-    if
-     i32.const 0
-     global.get $std/string/sa
-     i32.load
-     local.tee $0
-     i32.load
-     i32.const 2
-     i32.shr_u
-     i32.lt_u
-     if (result i32)
-      local.get $0
-      i32.load offset=8
-     else      
-      unreachable
-     end
-     i32.const 280
+     i32.const 128
      call $~lib/string/String.__eq
      local.set $0
     end
@@ -7788,6 +7652,180 @@
    call $~lib/env/abort
    unreachable
   end
+  i32.const 288
+  i32.const 112
+  i32.const -1
+  call $~lib/string/String#split
+  global.set $std/string/sa
+  block (result i32)
+   block (result i32)
+    global.get $std/string/sa
+    i32.load offset=4
+    i32.const 3
+    i32.eq
+    local.tee $0
+    if
+     i32.const 0
+     global.get $std/string/sa
+     i32.load
+     local.tee $0
+     i32.load
+     i32.const 2
+     i32.shr_u
+     i32.lt_u
+     if (result i32)
+      local.get $0
+      i32.load offset=8
+     else      
+      unreachable
+     end
+     i32.const 128
+     call $~lib/string/String.__eq
+     local.set $0
+    end
+    local.get $0
+   end
+   if
+    i32.const 1
+    global.get $std/string/sa
+    i32.load
+    local.tee $0
+    i32.load
+    i32.const 2
+    i32.shr_u
+    i32.lt_u
+    if (result i32)
+     local.get $0
+     i32.const 4
+     i32.add
+     i32.load offset=8
+    else     
+     unreachable
+    end
+    i32.const 648
+    call $~lib/string/String.__eq
+    local.set $0
+   end
+   local.get $0
+  end
+  if (result i32)
+   i32.const 2
+   global.get $std/string/sa
+   i32.load
+   local.tee $0
+   i32.load
+   i32.const 2
+   i32.shr_u
+   i32.lt_u
+   if (result i32)
+    local.get $0
+    i32.const 8
+    i32.add
+    i32.load offset=8
+   else    
+    unreachable
+   end
+   i32.const 1216
+   call $~lib/string/String.__eq
+  else   
+   local.get $0
+  end
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 190
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
+  i32.const 1192
+  i32.const 432
+  i32.const -1
+  call $~lib/string/String#split
+  global.set $std/string/sa
+  block (result i32)
+   block (result i32)
+    global.get $std/string/sa
+    i32.load offset=4
+    i32.const 3
+    i32.eq
+    local.tee $0
+    if
+     i32.const 0
+     global.get $std/string/sa
+     i32.load
+     local.tee $0
+     i32.load
+     i32.const 2
+     i32.shr_u
+     i32.lt_u
+     if (result i32)
+      local.get $0
+      i32.load offset=8
+     else      
+      unreachable
+     end
+     i32.const 128
+     call $~lib/string/String.__eq
+     local.set $0
+    end
+    local.get $0
+   end
+   if
+    i32.const 1
+    global.get $std/string/sa
+    i32.load
+    local.tee $0
+    i32.load
+    i32.const 2
+    i32.shr_u
+    i32.lt_u
+    if (result i32)
+     local.get $0
+     i32.const 4
+     i32.add
+     i32.load offset=8
+    else     
+     unreachable
+    end
+    i32.const 648
+    call $~lib/string/String.__eq
+    local.set $0
+   end
+   local.get $0
+  end
+  if (result i32)
+   i32.const 2
+   global.get $std/string/sa
+   i32.load
+   local.tee $0
+   i32.load
+   i32.const 2
+   i32.shr_u
+   i32.lt_u
+   if (result i32)
+    local.get $0
+    i32.const 8
+    i32.add
+    i32.load offset=8
+   else    
+    unreachable
+   end
+   i32.const 1216
+   call $~lib/string/String.__eq
+  else   
+   local.get $0
+  end
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 192
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
   i32.const 0
   call $~lib/internal/number/itoa32
   i32.const 480
@@ -7796,7 +7834,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 190
+   i32.const 194
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7809,7 +7847,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 191
+   i32.const 195
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7822,7 +7860,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 192
+   i32.const 196
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7835,7 +7873,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 193
+   i32.const 197
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7848,7 +7886,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 194
+   i32.const 198
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7861,7 +7899,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 195
+   i32.const 199
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7874,7 +7912,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 196
+   i32.const 200
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7887,7 +7925,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 197
+   i32.const 201
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7900,7 +7938,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 198
+   i32.const 202
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7913,7 +7951,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 199
+   i32.const 203
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7926,7 +7964,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 200
+   i32.const 204
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7939,7 +7977,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 201
+   i32.const 205
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7952,7 +7990,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 202
+   i32.const 206
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7965,7 +8003,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 203
+   i32.const 207
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7978,7 +8016,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 205
+   i32.const 209
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7991,7 +8029,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 206
+   i32.const 210
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8004,7 +8042,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 207
+   i32.const 211
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8017,7 +8055,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 208
+   i32.const 212
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8030,7 +8068,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 209
+   i32.const 213
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8043,7 +8081,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 211
+   i32.const 215
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8056,7 +8094,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 212
+   i32.const 216
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8069,7 +8107,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 213
+   i32.const 217
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8082,7 +8120,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 214
+   i32.const 218
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8095,7 +8133,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 215
+   i32.const 219
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8108,7 +8146,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 216
+   i32.const 220
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8121,7 +8159,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 217
+   i32.const 221
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8134,7 +8172,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 218
+   i32.const 222
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8147,7 +8185,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 219
+   i32.const 223
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8160,7 +8198,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 220
+   i32.const 224
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8173,7 +8211,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 221
+   i32.const 225
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8186,7 +8224,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 223
+   i32.const 227
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8199,7 +8237,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 224
+   i32.const 228
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8212,7 +8250,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 225
+   i32.const 229
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8225,7 +8263,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 226
+   i32.const 230
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8238,7 +8276,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 227
+   i32.const 231
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8251,7 +8289,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 228
+   i32.const 232
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8264,7 +8302,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 229
+   i32.const 233
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8277,7 +8315,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 230
+   i32.const 234
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8290,7 +8328,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 231
+   i32.const 235
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8303,7 +8341,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 232
+   i32.const 236
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8316,7 +8354,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 233
+   i32.const 237
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8329,7 +8367,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 236
+   i32.const 240
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8342,7 +8380,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 237
+   i32.const 241
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8355,7 +8393,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 238
+   i32.const 242
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8368,7 +8406,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 239
+   i32.const 243
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8381,7 +8419,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 240
+   i32.const 244
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8394,7 +8432,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 241
+   i32.const 245
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8407,7 +8445,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 242
+   i32.const 246
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8420,7 +8458,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 243
+   i32.const 247
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8433,7 +8471,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 244
+   i32.const 248
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8446,7 +8484,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 245
+   i32.const 249
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8459,7 +8497,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 246
+   i32.const 250
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8472,7 +8510,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 249
+   i32.const 253
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8485,7 +8523,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 250
+   i32.const 254
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8498,7 +8536,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 251
+   i32.const 255
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8511,7 +8549,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 252
+   i32.const 256
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8524,7 +8562,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 253
+   i32.const 257
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8537,7 +8575,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 259
+   i32.const 263
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8550,7 +8588,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 260
+   i32.const 264
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8563,7 +8601,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 261
+   i32.const 265
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8576,7 +8614,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 262
+   i32.const 266
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8589,7 +8627,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 264
+   i32.const 268
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8602,7 +8640,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 265
+   i32.const 269
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8615,7 +8653,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 266
+   i32.const 270
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8628,7 +8666,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 267
+   i32.const 271
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8641,7 +8679,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 268
+   i32.const 272
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8654,7 +8692,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 269
+   i32.const 273
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8667,7 +8705,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 271
+   i32.const 275
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8680,7 +8718,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 272
+   i32.const 276
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8693,7 +8731,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 273
+   i32.const 277
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8706,7 +8744,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 274
+   i32.const 278
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8719,7 +8757,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 275
+   i32.const 279
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8732,7 +8770,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 276
+   i32.const 280
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8745,7 +8783,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 277
+   i32.const 281
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8758,7 +8796,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 278
+   i32.const 282
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8771,7 +8809,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 279
+   i32.const 283
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8784,7 +8822,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 281
+   i32.const 285
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8797,7 +8835,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 282
+   i32.const 286
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8810,7 +8848,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 284
+   i32.const 288
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8823,7 +8861,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 285
+   i32.const 289
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8836,7 +8874,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 286
+   i32.const 290
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8849,7 +8887,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 287
+   i32.const 291
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8862,7 +8900,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 289
+   i32.const 293
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8875,7 +8913,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 290
+   i32.const 294
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8888,7 +8926,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 291
+   i32.const 295
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8901,7 +8939,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 292
+   i32.const 296
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8914,7 +8952,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 293
+   i32.const 297
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8927,7 +8965,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 294
+   i32.const 298
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8940,7 +8978,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 295
+   i32.const 299
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8953,7 +8991,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 296
+   i32.const 300
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8966,7 +9004,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 297
+   i32.const 301
    i32.const 0
    call $~lib/env/abort
    unreachable
diff --git a/tests/compiler/std/string.ts b/tests/compiler/std/string.ts
index d29fba22..2393c27a 100644
--- a/tests/compiler/std/string.ts
+++ b/tests/compiler/std/string.ts
@@ -18,6 +18,10 @@ assert(changetype<usize>(str) == changetype<usize>("hi, I'm a string"));
 assert(str.length == 16);
 assert(str.charCodeAt(0) == 0x68);
 
+assert(!!"" == false);
+assert(!!"\0" == true);
+assert(!!"a" == true);
+
 assert(String.fromCharCode(0) == "\0");
 assert(String.fromCharCode(54) == "6");
 assert(String.fromCharCode(0x10000 + 54) == "6");
@@ -222,8 +226,8 @@ assert(utoa64(u64.MAX_VALUE) == "18446744073709551615");
 
 assert(itoa64(0) == "0");
 assert(itoa64(-1234) == "-1234");
-assert(itoa64(0xffffffff)  == "4294967295");
-assert(itoa64(-0xffffffff)  == "-4294967295");
+assert(itoa64(0xffffffff) == "4294967295");
+assert(itoa64(-0xffffffff) == "-4294967295");
 assert(itoa64(68719476735) == "68719476735");
 assert(itoa64(-68719476735) == "-68719476735");
 assert(itoa64(-868719476735) == "-868719476735");
@@ -233,13 +237,13 @@ assert(itoa64(i64.MAX_VALUE) == "9223372036854775807");
 assert(itoa64(i64.MIN_VALUE) == "-9223372036854775808");
 
 // special cases
-assert(dtoa(0.0)  == "0.0");
+assert(dtoa(0.0) == "0.0");
 assert(dtoa(-0.0) == "0.0");
-assert(dtoa(NaN)  == "NaN");
+assert(dtoa(NaN) == "NaN");
 assert(dtoa(+Infinity) == "Infinity");
 assert(dtoa(-Infinity) == "-Infinity");
-assert(dtoa(+f64.EPSILON)   == "2.220446049250313e-16");
-assert(dtoa(-f64.EPSILON)   == "-2.220446049250313e-16");
+assert(dtoa(+f64.EPSILON) == "2.220446049250313e-16");
+assert(dtoa(-f64.EPSILON) == "-2.220446049250313e-16");
 assert(dtoa(+f64.MAX_VALUE) == "1.7976931348623157e+308");
 assert(dtoa(-f64.MAX_VALUE) == "-1.7976931348623157e+308");
 assert(dtoa(4.185580496821357e+298) == "4.185580496821357e+298");
@@ -256,44 +260,44 @@ assert(dtoa(5e-324) == "5e-324");
 // Actual:  1.2344999999999999e+21
 // assert(dtoa(1.2345e+21) == "1.2345e+21");
 
-assert(dtoa(1.0)  == "1.0");
-assert(dtoa(0.1)  == "0.1");
+assert(dtoa(1.0) == "1.0");
+assert(dtoa(0.1) == "0.1");
 assert(dtoa(-1.0) == "-1.0");
 assert(dtoa(-0.1) == "-0.1");
 
-assert(dtoa(1e+6)  == "1000000.0");
-assert(dtoa(1e-6)  == "0.000001");
+assert(dtoa(1e+6) == "1000000.0");
+assert(dtoa(1e-6) == "0.000001");
 assert(dtoa(-1e+6) == "-1000000.0");
 assert(dtoa(-1e-6) == "-0.000001");
-assert(dtoa(1e+7)  == "10000000.0");
-assert(dtoa(1e-7)  == "1e-7");
+assert(dtoa(1e+7) == "10000000.0");
+assert(dtoa(1e-7) == "1e-7");
 
-assert(dtoa(1e+308)  == "1e+308");
+assert(dtoa(1e+308) == "1e+308");
 assert(dtoa(-1e+308) == "-1e+308");
-assert(dtoa(1e+309)  == "Infinity");
+assert(dtoa(1e+309) == "Infinity");
 assert(dtoa(-1e+309) == "-Infinity");
-assert(dtoa(1e-308)  == "1e-308");
+assert(dtoa(1e-308) == "1e-308");
 assert(dtoa(-1e-308) == "-1e-308");
-assert(dtoa(1e-323)  == "1e-323");
+assert(dtoa(1e-323) == "1e-323");
 assert(dtoa(-1e-323) == "-1e-323");
-assert(dtoa(1e-324)  == "0.0");
+assert(dtoa(1e-324) == "0.0");
 
 assert(dtoa(4294967272) == "4294967272.0");
 assert(dtoa(1.23121456734562345678e-8) == "1.2312145673456234e-8");
 // assert(dtoa(-0.0000010471975511965976) == "-0.0000010471975511965976"); // FIXME
-assert(dtoa(555555555.55555555)  == "555555555.5555556");
-assert(dtoa(0.9999999999999999)  == "0.9999999999999999");
+assert(dtoa(555555555.55555555) == "555555555.5555556");
+assert(dtoa(0.9999999999999999) == "0.9999999999999999");
 assert(dtoa(0.99999999999999995) == "1.0");
-assert(dtoa(1234e-2)     == "12.34");
+assert(dtoa(1234e-2) == "12.34");
 // assert(dtoa(0.1 + 0.2)   == "0.30000000000000004"); // FIXME
-assert(dtoa(1.0 / 3.0)   == "0.3333333333333333");
-assert(dtoa(1.234e+20)   == "123400000000000000000.0");
-assert(dtoa(1.234e+21)   == "1.234e+21");
-assert(dtoa(2.71828)     == "2.71828");
-assert(dtoa(2.71828e-2)  == "0.0271828");
-assert(dtoa(2.71828e+2)  == "271.828");
-assert(dtoa(1.1e+128)    == "1.1e+128");
-assert(dtoa(1.1e-64)     == "1.1e-64");
+assert(dtoa(1.0 / 3.0) == "0.3333333333333333");
+assert(dtoa(1.234e+20) == "123400000000000000000.0");
+assert(dtoa(1.234e+21) == "1.234e+21");
+assert(dtoa(2.71828) == "2.71828");
+assert(dtoa(2.71828e-2) == "0.0271828");
+assert(dtoa(2.71828e+2) == "271.828");
+assert(dtoa(1.1e+128) == "1.1e+128");
+assert(dtoa(1.1e-64) == "1.1e-64");
 assert(dtoa(0.000035689) == "0.000035689");
 
 // assert(dtoa(f32.MAX_VALUE) == "3.4028234663852886e+38"); // FIXME
diff --git a/tests/compiler/std/string.untouched.wat b/tests/compiler/std/string.untouched.wat
index f4860de8..be9c7aed 100644
--- a/tests/compiler/std/string.untouched.wat
+++ b/tests/compiler/std/string.untouched.wat
@@ -21,18 +21,18 @@
  (data (i32.const 8) "\10\00\00\00h\00i\00,\00 \00I\00\'\00m\00 \00a\00 \00s\00t\00r\00i\00n\00g\00")
  (data (i32.const 48) "\0d\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00")
  (data (i32.const 80) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00")
- (data (i32.const 112) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00")
- (data (i32.const 168) "\01\00\00\00\00\00")
- (data (i32.const 176) "\01\00\00\006\00")
- (data (i32.const 184) "\02\00\00\004\d8\06\df")
- (data (i32.const 192) "\02\00\00\00h\00i\00")
- (data (i32.const 200) "\04\00\00\00n\00u\00l\00l\00")
- (data (i32.const 216) "\06\00\00\00s\00t\00r\00i\00n\00g\00")
- (data (i32.const 232) "\03\00\00\00I\00\'\00m\00")
- (data (i32.const 248) "\01\00\00\00 \00")
- (data (i32.const 256) "\00\00\00\00")
- (data (i32.const 264) "\03\00\00\00 \00 \00 \00")
- (data (i32.const 280) "\01\00\00\00a\00")
+ (data (i32.const 112) "\00\00\00\00")
+ (data (i32.const 120) "\01\00\00\00\00\00")
+ (data (i32.const 128) "\01\00\00\00a\00")
+ (data (i32.const 136) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00")
+ (data (i32.const 192) "\01\00\00\006\00")
+ (data (i32.const 200) "\02\00\00\004\d8\06\df")
+ (data (i32.const 208) "\02\00\00\00h\00i\00")
+ (data (i32.const 216) "\04\00\00\00n\00u\00l\00l\00")
+ (data (i32.const 232) "\06\00\00\00s\00t\00r\00i\00n\00g\00")
+ (data (i32.const 248) "\03\00\00\00I\00\'\00m\00")
+ (data (i32.const 264) "\01\00\00\00 \00")
+ (data (i32.const 272) "\03\00\00\00 \00 \00 \00")
  (data (i32.const 288) "\03\00\00\00a\00b\00c\00")
  (data (i32.const 304) "\05\00\00\00 \00 \00a\00b\00c\00")
  (data (i32.const 320) "\03\00\00\001\002\003\00")
@@ -244,7 +244,21 @@
   i32.add
   i32.load16_u offset=4
  )
- (func $~lib/allocator/arena/__memory_allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
+ (func $~lib/string/String.__not (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
+  (local $1 i32)
+  local.get $0
+  i32.const 0
+  i32.eq
+  local.tee $1
+  if (result i32)
+   local.get $1
+  else   
+   local.get $0
+   i32.load
+   i32.eqz
+  end
+ )
+ (func $~lib/allocator/arena/__memory_allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
   (local $1 i32)
   (local $2 i32)
   (local $3 i32)
@@ -323,7 +337,7 @@
   global.set $~lib/allocator/arena/offset
   local.get $1
  )
- (func $~lib/internal/string/allocateUnsafe (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
+ (func $~lib/internal/string/allocateUnsafe (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
   (local $1 i32)
   (local $2 i32)
   local.get $0
@@ -340,7 +354,7 @@
   i32.eqz
   if
    i32.const 0
-   i32.const 112
+   i32.const 136
    i32.const 14
    i32.const 2
    call $~lib/env/abort
@@ -363,7 +377,7 @@
   i32.store
   local.get $2
  )
- (func $~lib/string/String.fromCharCode (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
+ (func $~lib/string/String.fromCharCode (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
   (local $1 i32)
   i32.const 1
   call $~lib/internal/string/allocateUnsafe
@@ -373,7 +387,7 @@
   i32.store16 offset=4
   local.get $1
  )
- (func $~lib/internal/string/compareUnsafe (; 6 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
+ (func $~lib/internal/string/compareUnsafe (; 7 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
   (local $5 i32)
   (local $6 i32)
   (local $7 i32)
@@ -426,7 +440,7 @@
   end
   local.get $5
  )
- (func $~lib/string/String.__eq (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
+ (func $~lib/string/String.__eq (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
   (local $2 i32)
   (local $3 i32)
   local.get $0
@@ -470,7 +484,7 @@
   call $~lib/internal/string/compareUnsafe
   i32.eqz
  )
- (func $~lib/string/String.fromCodePoint (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
+ (func $~lib/string/String.fromCodePoint (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
   (local $1 i32)
   (local $2 i32)
   (local $3 i32)
@@ -529,7 +543,7 @@
   end
   local.get $2
  )
- (func $~lib/string/String#startsWith (; 9 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $~lib/string/String#startsWith (; 10 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
   (local $3 i32)
   (local $4 i32)
   (local $5 i32)
@@ -543,7 +557,7 @@
   if
    i32.const 0
    i32.const 80
-   i32.const 224
+   i32.const 229
    i32.const 4
    call $~lib/env/abort
    unreachable
@@ -552,7 +566,7 @@
   i32.const 0
   i32.eq
   if
-   i32.const 200
+   i32.const 216
    local.set $1
   end
   local.get $2
@@ -596,7 +610,7 @@
   call $~lib/internal/string/compareUnsafe
   i32.eqz
  )
- (func $~lib/string/String#endsWith (; 10 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $~lib/string/String#endsWith (; 11 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
   (local $3 i32)
   (local $4 i32)
   (local $5 i32)
@@ -660,7 +674,7 @@
   call $~lib/internal/string/compareUnsafe
   i32.eqz
  )
- (func $~lib/string/String#endsWith|trampoline (; 11 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $~lib/string/String#endsWith|trampoline (; 12 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
   block $1of1
    block $0of1
     block $outOfRange
@@ -679,7 +693,7 @@
   local.get $2
   call $~lib/string/String#endsWith
  )
- (func $~lib/string/String#indexOf (; 12 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $~lib/string/String#indexOf (; 13 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
   (local $3 i32)
   (local $4 i32)
   (local $5 i32)
@@ -692,7 +706,7 @@
   if
    i32.const 0
    i32.const 80
-   i32.const 193
+   i32.const 198
    i32.const 4
    call $~lib/env/abort
    unreachable
@@ -701,7 +715,7 @@
   i32.const 0
   i32.eq
   if
-   i32.const 200
+   i32.const 216
    local.set $1
   end
   local.get $1
@@ -773,7 +787,7 @@
   end
   i32.const -1
  )
- (func $~lib/internal/memory/memcpy (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
+ (func $~lib/internal/memory/memcpy (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
   (local $3 i32)
   (local $4 i32)
   (local $5 i32)
@@ -1974,7 +1988,7 @@
    i32.store8
   end
  )
- (func $~lib/internal/memory/memmove (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
+ (func $~lib/internal/memory/memmove (; 15 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
   (local $3 i32)
   local.get $0
   local.get $1
@@ -2201,7 +2215,7 @@
    end
   end
  )
- (func $~lib/internal/string/repeatUnsafe (; 15 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
+ (func $~lib/internal/string/repeatUnsafe (; 16 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
   (local $4 i32)
   (local $5 i32)
   (local $6 i32)
@@ -2481,7 +2495,7 @@
    unreachable
   end
  )
- (func $~lib/internal/string/copyUnsafe (; 16 ;) (type $FUNCSIG$viiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32)
+ (func $~lib/internal/string/copyUnsafe (; 17 ;) (type $FUNCSIG$viiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32)
   (local $5 i32)
   (local $6 i32)
   (local $7 i32)
@@ -2510,7 +2524,7 @@
   local.get $7
   call $~lib/internal/memory/memmove
  )
- (func $~lib/string/String#padStart (; 17 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $~lib/string/String#padStart (; 18 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
   (local $3 i32)
   (local $4 i32)
   (local $5 i32)
@@ -2525,7 +2539,7 @@
   if
    i32.const 0
    i32.const 80
-   i32.const 340
+   i32.const 345
    i32.const 4
    call $~lib/env/abort
    unreachable
@@ -2608,7 +2622,7 @@
   end
   local.get $7
  )
- (func $~lib/string/String#padStart|trampoline (; 18 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $~lib/string/String#padStart|trampoline (; 19 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
   block $1of1
    block $0of1
     block $outOfRange
@@ -2619,7 +2633,7 @@
     end
     unreachable
    end
-   i32.const 248
+   i32.const 264
    local.set $2
   end
   local.get $0
@@ -2627,7 +2641,7 @@
   local.get $2
   call $~lib/string/String#padStart
  )
- (func $~lib/string/String#padEnd (; 19 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $~lib/string/String#padEnd (; 20 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
   (local $3 i32)
   (local $4 i32)
   (local $5 i32)
@@ -2642,7 +2656,7 @@
   if
    i32.const 0
    i32.const 80
-   i32.const 360
+   i32.const 365
    i32.const 4
    call $~lib/env/abort
    unreachable
@@ -2727,7 +2741,7 @@
   end
   local.get $7
  )
- (func $~lib/string/String#padEnd|trampoline (; 20 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $~lib/string/String#padEnd|trampoline (; 21 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
   block $1of1
    block $0of1
     block $outOfRange
@@ -2738,7 +2752,7 @@
     end
     unreachable
    end
-   i32.const 248
+   i32.const 264
    local.set $2
   end
   local.get $0
@@ -2746,7 +2760,7 @@
   local.get $2
   call $~lib/string/String#padEnd
  )
- (func $~lib/string/String#lastIndexOf (; 21 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $~lib/string/String#lastIndexOf (; 22 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
   (local $3 i32)
   (local $4 i32)
   (local $5 i32)
@@ -2759,7 +2773,7 @@
   if
    i32.const 0
    i32.const 80
-   i32.const 209
+   i32.const 214
    i32.const 4
    call $~lib/env/abort
    unreachable
@@ -2768,7 +2782,7 @@
   i32.const 0
   i32.eq
   if
-   i32.const 200
+   i32.const 216
    local.set $1
   end
   local.get $0
@@ -2838,7 +2852,7 @@
   end
   i32.const -1
  )
- (func $~lib/string/String#lastIndexOf|trampoline (; 22 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $~lib/string/String#lastIndexOf|trampoline (; 23 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
   block $1of1
    block $0of1
     block $outOfRange
@@ -2857,7 +2871,7 @@
   local.get $2
   call $~lib/string/String#lastIndexOf
  )
- (func $~lib/internal/string/parse<f64> (; 23 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64)
+ (func $~lib/internal/string/parse<f64> (; 24 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64)
   (local $2 i32)
   (local $3 i32)
   (local $4 i32)
@@ -3158,12 +3172,12 @@
   local.get $7
   f64.mul
  )
- (func $~lib/string/parseInt (; 24 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64)
+ (func $~lib/string/parseInt (; 25 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64)
   local.get $0
   local.get $1
   call $~lib/internal/string/parse<f64>
  )
- (func $~lib/string/parseFloat (; 25 ;) (type $FUNCSIG$di) (param $0 i32) (result f64)
+ (func $~lib/string/parseFloat (; 26 ;) (type $FUNCSIG$di) (param $0 i32) (result f64)
   (local $1 i32)
   (local $2 i32)
   (local $3 i32)
@@ -3292,7 +3306,7 @@
             if
              i32.const 0
              i32.const 80
-             i32.const 625
+             i32.const 630
              i32.const 10
              call $~lib/env/abort
              unreachable
@@ -3360,7 +3374,7 @@
   local.get $5
   f64.mul
  )
- (func $~lib/string/String#concat (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
+ (func $~lib/string/String#concat (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
   (local $2 i32)
   (local $3 i32)
   (local $4 i32)
@@ -3381,7 +3395,7 @@
   i32.const 0
   i32.eq
   if
-   i32.const 200
+   i32.const 216
    local.set $1
   end
   local.get $0
@@ -3398,7 +3412,7 @@
   i32.const 0
   i32.eq
   if
-   i32.const 256
+   i32.const 112
    return
   end
   local.get $4
@@ -3418,24 +3432,24 @@
   call $~lib/internal/string/copyUnsafe
   local.get $5
  )
- (func $~lib/string/String.__concat (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
+ (func $~lib/string/String.__concat (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
   local.get $0
   i32.eqz
   if
-   i32.const 200
+   i32.const 216
    local.set $0
   end
   local.get $0
   local.get $1
   call $~lib/string/String#concat
  )
- (func $~lib/string/String.__ne (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
+ (func $~lib/string/String.__ne (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
   local.get $0
   local.get $1
   call $~lib/string/String.__eq
   i32.eqz
  )
- (func $~lib/string/String.__gt (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
+ (func $~lib/string/String.__gt (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
   (local $2 i32)
   (local $3 i32)
   (local $4 i32)
@@ -3500,7 +3514,7 @@
   i32.const 0
   i32.gt_s
  )
- (func $~lib/string/String.__lt (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
+ (func $~lib/string/String.__lt (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
   (local $2 i32)
   (local $3 i32)
   (local $4 i32)
@@ -3565,19 +3579,19 @@
   i32.const 0
   i32.lt_s
  )
- (func $~lib/string/String.__gte (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
+ (func $~lib/string/String.__gte (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
   local.get $0
   local.get $1
   call $~lib/string/String.__lt
   i32.eqz
  )
- (func $~lib/string/String.__lte (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
+ (func $~lib/string/String.__lte (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
   local.get $0
   local.get $1
   call $~lib/string/String.__gt
   i32.eqz
  )
- (func $~lib/string/String#repeat (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
+ (func $~lib/string/String#repeat (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
   (local $2 i32)
   (local $3 i32)
   (local $4 i32)
@@ -3588,7 +3602,7 @@
   if
    i32.const 0
    i32.const 80
-   i32.const 380
+   i32.const 385
    i32.const 4
    call $~lib/env/abort
    unreachable
@@ -3614,7 +3628,7 @@
   if
    i32.const 0
    i32.const 80
-   i32.const 385
+   i32.const 390
    i32.const 6
    call $~lib/env/abort
    unreachable
@@ -3630,7 +3644,7 @@
    i32.eqz
   end
   if
-   i32.const 256
+   i32.const 112
    return
   end
   local.get $1
@@ -3652,7 +3666,7 @@
   call $~lib/internal/string/repeatUnsafe
   local.get $4
  )
- (func $~lib/string/String#slice (; 34 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $~lib/string/String#slice (; 35 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
   (local $3 i32)
   (local $4 i32)
   (local $5 i32)
@@ -3720,7 +3734,7 @@
   i32.const 0
   i32.le_s
   if
-   i32.const 256
+   i32.const 112
    return
   end
   local.get $3
@@ -3734,7 +3748,7 @@
   call $~lib/internal/string/copyUnsafe
   local.get $8
  )
- (func $~lib/string/String#slice|trampoline (; 35 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $~lib/string/String#slice|trampoline (; 36 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
   block $1of1
    block $0of1
     block $outOfRange
@@ -3753,7 +3767,7 @@
   local.get $2
   call $~lib/string/String#slice
  )
- (func $~lib/internal/arraybuffer/computeSize (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
+ (func $~lib/internal/arraybuffer/computeSize (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
   i32.const 1
   i32.const 32
   local.get $0
@@ -3765,7 +3779,7 @@
   i32.sub
   i32.shl
  )
- (func $~lib/internal/arraybuffer/allocateUnsafe (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
+ (func $~lib/internal/arraybuffer/allocateUnsafe (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
   (local $1 i32)
   (local $2 i32)
   local.get $0
@@ -3794,12 +3808,12 @@
   i32.store
   local.get $1
  )
- (func $~lib/memory/memory.allocate (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
+ (func $~lib/memory/memory.allocate (; 39 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
   local.get $0
   call $~lib/allocator/arena/__memory_allocate
   return
  )
- (func $~lib/internal/memory/memset (; 39 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
+ (func $~lib/internal/memory/memset (; 40 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
   (local $3 i32)
   (local $4 i32)
   (local $5 i64)
@@ -4053,7 +4067,7 @@
    end
   end
  )
- (func $~lib/array/Array<~lib/string/String>#constructor (; 40 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
+ (func $~lib/array/Array<~lib/string/String>#constructor (; 41 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
   (local $2 i32)
   (local $3 i32)
   (local $4 i32)
@@ -4114,7 +4128,7 @@
   end
   local.get $0
  )
- (func $~lib/array/Array<~lib/string/String>#__unchecked_set (; 41 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
+ (func $~lib/array/Array<~lib/string/String>#__unchecked_set (; 42 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
   (local $3 i32)
   (local $4 i32)
   (local $5 i32)
@@ -4138,7 +4152,7 @@
   local.get $5
   i32.store offset=8
  )
- (func $~lib/array/Array<~lib/string/String>#__unchecked_get (; 42 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
+ (func $~lib/array/Array<~lib/string/String>#__unchecked_get (; 43 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
   (local $2 i32)
   (local $3 i32)
   (local $4 i32)
@@ -4158,10 +4172,10 @@
   i32.add
   i32.load offset=8
  )
- (func $~lib/allocator/arena/__memory_free (; 43 ;) (type $FUNCSIG$vi) (param $0 i32)
+ (func $~lib/allocator/arena/__memory_free (; 44 ;) (type $FUNCSIG$vi) (param $0 i32)
   nop
  )
- (func $~lib/internal/arraybuffer/reallocateUnsafe (; 44 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
+ (func $~lib/internal/arraybuffer/reallocateUnsafe (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
   (local $2 i32)
   (local $3 i32)
   (local $4 i32)
@@ -4268,7 +4282,7 @@
   end
   local.get $0
  )
- (func $~lib/array/Array<~lib/string/String>#push (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
+ (func $~lib/array/Array<~lib/string/String>#push (; 46 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
   (local $2 i32)
   (local $3 i32)
   (local $4 i32)
@@ -4341,7 +4355,7 @@
   end
   local.get $5
  )
- (func $~lib/string/String#split (; 46 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $~lib/string/String#split (; 47 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
   (local $3 i32)
   (local $4 i32)
   (local $5 i32)
@@ -4364,7 +4378,7 @@
   if
    i32.const 0
    i32.const 80
-   i32.const 408
+   i32.const 413
    i32.const 4
    call $~lib/env/abort
    unreachable
@@ -4499,7 +4513,7 @@
      local.tee $3
      i32.const 0
      local.tee $7
-     i32.const 256
+     i32.const 112
      call $~lib/array/Array<~lib/string/String>#__unchecked_set
      local.get $3
      local.get $7
@@ -4554,7 +4568,7 @@
        drop
       else       
        local.get $13
-       i32.const 256
+       i32.const 112
        call $~lib/array/Array<~lib/string/String>#push
        drop
       end
@@ -4622,13 +4636,13 @@
    drop
   else   
    local.get $13
-   i32.const 256
+   i32.const 112
    call $~lib/array/Array<~lib/string/String>#push
    drop
   end
   local.get $13
  )
- (func $~lib/string/String#split|trampoline (; 47 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $~lib/string/String#split|trampoline (; 48 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
   block $2of2
    block $1of2
     block $0of2
@@ -4649,7 +4663,7 @@
   local.get $2
   call $~lib/string/String#split
  )
- (func $~lib/array/Array<~lib/string/String>#__get (; 48 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
+ (func $~lib/array/Array<~lib/string/String>#__get (; 49 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
   (local $2 i32)
   (local $3 i32)
   (local $4 i32)
@@ -4682,7 +4696,7 @@
    unreachable
   end
  )
- (func $~lib/internal/number/decimalCount32 (; 49 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
+ (func $~lib/internal/number/decimalCount32 (; 50 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
   (local $1 i32)
   local.get $0
   i32.const 100000
@@ -4751,7 +4765,7 @@
   unreachable
   unreachable
  )
- (func $~lib/internal/number/utoa32_lut (; 50 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
+ (func $~lib/internal/number/utoa32_lut (; 51 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
   (local $3 i32)
   (local $4 i32)
   (local $5 i32)
@@ -4937,7 +4951,7 @@
    i32.store16 offset=4
   end
  )
- (func $~lib/internal/number/itoa32 (; 51 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
+ (func $~lib/internal/number/itoa32 (; 52 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
   (local $1 i32)
   (local $2 i32)
   (local $3 i32)
@@ -4989,7 +5003,7 @@
   end
   local.get $3
  )
- (func $~lib/internal/number/utoa32 (; 52 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
+ (func $~lib/internal/number/utoa32 (; 53 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
   (local $1 i32)
   (local $2 i32)
   (local $3 i32)
@@ -5021,7 +5035,7 @@
   end
   local.get $2
  )
- (func $~lib/internal/number/decimalCount64 (; 53 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
+ (func $~lib/internal/number/decimalCount64 (; 54 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
   (local $1 i32)
   local.get $0
   i64.const 1000000000000000
@@ -5090,7 +5104,7 @@
   unreachable
   unreachable
  )
- (func $~lib/internal/number/utoa64_lut (; 54 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32)
+ (func $~lib/internal/number/utoa64_lut (; 55 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32)
   (local $3 i32)
   (local $4 i64)
   (local $5 i32)
@@ -5261,7 +5275,7 @@
   local.get $2
   call $~lib/internal/number/utoa32_lut
  )
- (func $~lib/internal/number/utoa64 (; 55 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
+ (func $~lib/internal/number/utoa64 (; 56 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
   (local $1 i32)
   (local $2 i32)
   (local $3 i32)
@@ -5323,7 +5337,7 @@
   end
   local.get $1
  )
- (func $~lib/internal/number/itoa64 (; 56 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
+ (func $~lib/internal/number/itoa64 (; 57 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
   (local $1 i32)
   (local $2 i32)
   (local $3 i32)
@@ -5407,19 +5421,19 @@
   end
   local.get $2
  )
- (func $~lib/builtins/isFinite<f64> (; 57 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
+ (func $~lib/builtins/isFinite<f64> (; 58 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
   local.get $0
   local.get $0
   f64.sub
   f64.const 0
   f64.eq
  )
- (func $~lib/builtins/isNaN<f64> (; 58 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
+ (func $~lib/builtins/isNaN<f64> (; 59 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
   local.get $0
   local.get $0
   f64.ne
  )
- (func $~lib/internal/number/genDigits (; 59 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32)
+ (func $~lib/internal/number/genDigits (; 60 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32)
   (local $7 i32)
   (local $8 i64)
   (local $9 i64)
@@ -6010,7 +6024,7 @@
   end
   local.get $15
  )
- (func $~lib/internal/number/prettify (; 60 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $~lib/internal/number/prettify (; 61 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
   (local $3 i32)
   (local $4 i32)
   (local $5 i32)
@@ -6379,7 +6393,7 @@
   unreachable
   unreachable
  )
- (func $~lib/internal/number/dtoa_core (; 61 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32)
+ (func $~lib/internal/number/dtoa_core (; 62 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32)
   (local $2 i32)
   (local $3 f64)
   (local $4 i32)
@@ -6852,7 +6866,7 @@
   local.get $2
   i32.add
  )
- (func $~lib/string/String#substring (; 62 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $~lib/string/String#substring (; 63 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
   (local $3 i32)
   (local $4 i32)
   (local $5 i32)
@@ -6868,7 +6882,7 @@
   if
    i32.const 0
    i32.const 80
-   i32.const 249
+   i32.const 254
    i32.const 4
    call $~lib/env/abort
    unreachable
@@ -6933,7 +6947,7 @@
   local.get $3
   i32.eqz
   if
-   i32.const 256
+   i32.const 112
    return
   end
   local.get $8
@@ -6962,7 +6976,7 @@
   call $~lib/internal/string/copyUnsafe
   local.get $10
  )
- (func $~lib/internal/number/dtoa (; 63 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
+ (func $~lib/internal/number/dtoa (; 64 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
   (local $1 i32)
   (local $2 i32)
   (local $3 i32)
@@ -7012,7 +7026,7 @@
    i32.eqz
    if
     i32.const 0
-    i32.const 112
+    i32.const 136
     i32.const 28
     i32.const 4
     call $~lib/env/abort
@@ -7028,7 +7042,7 @@
   end
   local.get $3
  )
- (func $start:std/string (; 64 ;) (type $FUNCSIG$v)
+ (func $start:std/string (; 65 ;) (type $FUNCSIG$v)
   (local $0 i32)
   (local $1 i32)
   (local $2 i32)
@@ -7072,10 +7086,11 @@
    call $~lib/env/abort
    unreachable
   end
+  i32.const 112
+  call $~lib/string/String.__not
+  i32.eqz
   i32.const 0
-  call $~lib/string/String.fromCharCode
-  i32.const 168
-  call $~lib/string/String.__eq
+  i32.eq
   i32.eqz
   if
    i32.const 0
@@ -7085,10 +7100,11 @@
    call $~lib/env/abort
    unreachable
   end
-  i32.const 54
-  call $~lib/string/String.fromCharCode
-  i32.const 176
-  call $~lib/string/String.__eq
+  i32.const 120
+  call $~lib/string/String.__not
+  i32.eqz
+  i32.const 1
+  i32.eq
   i32.eqz
   if
    i32.const 0
@@ -7098,12 +7114,11 @@
    call $~lib/env/abort
    unreachable
   end
-  i32.const 65536
-  i32.const 54
-  i32.add
-  call $~lib/string/String.fromCharCode
-  i32.const 176
-  call $~lib/string/String.__eq
+  i32.const 128
+  call $~lib/string/String.__not
+  i32.eqz
+  i32.const 1
+  i32.eq
   i32.eqz
   if
    i32.const 0
@@ -7114,8 +7129,8 @@
    unreachable
   end
   i32.const 0
-  call $~lib/string/String.fromCodePoint
-  i32.const 168
+  call $~lib/string/String.fromCharCode
+  i32.const 120
   call $~lib/string/String.__eq
   i32.eqz
   if
@@ -7127,8 +7142,8 @@
    unreachable
   end
   i32.const 54
-  call $~lib/string/String.fromCodePoint
-  i32.const 176
+  call $~lib/string/String.fromCharCode
+  i32.const 192
   call $~lib/string/String.__eq
   i32.eqz
   if
@@ -7139,21 +7154,25 @@
    call $~lib/env/abort
    unreachable
   end
-  i32.const 119558
-  call $~lib/string/String.fromCodePoint
+  i32.const 65536
+  i32.const 54
+  i32.add
+  call $~lib/string/String.fromCharCode
+  i32.const 192
+  call $~lib/string/String.__eq
   i32.eqz
   if
-   i32.const 184
+   i32.const 0
    i32.const 48
    i32.const 27
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
-  global.get $std/string/str
-  i32.const 192
   i32.const 0
-  call $~lib/string/String#startsWith
+  call $~lib/string/String.fromCodePoint
+  i32.const 120
+  call $~lib/string/String.__eq
   i32.eqz
   if
    i32.const 0
@@ -7163,14 +7182,10 @@
    call $~lib/env/abort
    unreachable
   end
-  block (result i32)
-   i32.const 1
-   global.set $~lib/argc
-   global.get $std/string/str
-   i32.const 216
-   i32.const 0
-   call $~lib/string/String#endsWith|trampoline
-  end
+  i32.const 54
+  call $~lib/string/String.fromCodePoint
+  i32.const 192
+  call $~lib/string/String.__eq
   i32.eqz
   if
    i32.const 0
@@ -7180,10 +7195,51 @@
    call $~lib/env/abort
    unreachable
   end
+  i32.const 119558
+  call $~lib/string/String.fromCodePoint
+  i32.eqz
+  if
+   i32.const 200
+   i32.const 48
+   i32.const 31
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
+  global.get $std/string/str
+  i32.const 208
+  i32.const 0
+  call $~lib/string/String#startsWith
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 33
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
+  block (result i32)
+   i32.const 1
+   global.set $~lib/argc
+   global.get $std/string/str
+   i32.const 232
+   i32.const 0
+   call $~lib/string/String#endsWith|trampoline
+  end
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 34
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
   block $~lib/string/String#includes|inlined.0 (result i32)
    global.get $std/string/str
    local.set $0
-   i32.const 232
+   i32.const 248
    local.set $1
    i32.const 0
    local.set $2
@@ -7200,7 +7256,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 31
+   i32.const 35
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7219,7 +7275,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 33
+   i32.const 37
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7238,7 +7294,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 34
+   i32.const 38
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7246,48 +7302,48 @@
   block (result i32)
    i32.const 1
    global.set $~lib/argc
-   i32.const 256
+   i32.const 112
    i32.const 3
    i32.const 0
    call $~lib/string/String#padStart|trampoline
   end
-  i32.const 264
+  i32.const 272
   call $~lib/string/String.__eq
   i32.eqz
   if
    i32.const 0
    i32.const 48
-   i32.const 35
+   i32.const 39
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
-  i32.const 256
+  i32.const 112
   i32.const 10
-  i32.const 256
+  i32.const 112
   call $~lib/string/String#padStart
-  i32.const 256
+  i32.const 112
   call $~lib/string/String.__eq
   i32.eqz
   if
    i32.const 0
    i32.const 48
-   i32.const 36
+   i32.const 40
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
-  i32.const 280
+  i32.const 128
   i32.const 100
-  i32.const 256
+  i32.const 112
   call $~lib/string/String#padStart
-  i32.const 280
+  i32.const 128
   call $~lib/string/String.__eq
   i32.eqz
   if
    i32.const 0
    i32.const 48
-   i32.const 37
+   i32.const 41
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7306,7 +7362,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 38
+   i32.const 42
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7321,7 +7377,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 39
+   i32.const 43
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7336,7 +7392,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 40
+   i32.const 44
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7355,7 +7411,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 42
+   i32.const 46
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7374,7 +7430,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 43
+   i32.const 47
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7382,48 +7438,48 @@
   block (result i32)
    i32.const 1
    global.set $~lib/argc
-   i32.const 256
+   i32.const 112
    i32.const 3
    i32.const 0
    call $~lib/string/String#padEnd|trampoline
   end
-  i32.const 264
+  i32.const 272
   call $~lib/string/String.__eq
   i32.eqz
   if
    i32.const 0
    i32.const 48
-   i32.const 44
+   i32.const 48
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
-  i32.const 256
+  i32.const 112
   i32.const 10
-  i32.const 256
+  i32.const 112
   call $~lib/string/String#padEnd
-  i32.const 256
+  i32.const 112
   call $~lib/string/String.__eq
   i32.eqz
   if
    i32.const 0
    i32.const 48
-   i32.const 45
+   i32.const 49
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
-  i32.const 280
+  i32.const 128
   i32.const 100
-  i32.const 256
+  i32.const 112
   call $~lib/string/String#padEnd
-  i32.const 280
+  i32.const 128
   call $~lib/string/String.__eq
   i32.eqz
   if
    i32.const 0
    i32.const 48
-   i32.const 46
+   i32.const 50
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7442,7 +7498,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 47
+   i32.const 51
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7457,7 +7513,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 48
+   i32.const 52
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7469,51 +7525,6 @@
   i32.const 408
   call $~lib/string/String.__eq
   i32.eqz
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 49
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  i32.const 256
-  i32.const 256
-  i32.const 0
-  call $~lib/string/String#indexOf
-  i32.const 0
-  i32.eq
-  i32.eqz
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 51
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  i32.const 256
-  i32.const 192
-  i32.const 0
-  call $~lib/string/String#indexOf
-  i32.const -1
-  i32.eq
-  i32.eqz
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 52
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  i32.const 280
-  i32.const 280
-  i32.const 0
-  call $~lib/string/String#indexOf
-  i32.const 0
-  i32.eq
-  i32.eqz
   if
    i32.const 0
    i32.const 48
@@ -7522,23 +7533,8 @@
    call $~lib/env/abort
    unreachable
   end
-  global.get $std/string/str
-  global.get $std/string/str
-  i32.const 0
-  call $~lib/string/String#indexOf
-  i32.const 0
-  i32.eq
-  i32.eqz
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 54
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  global.get $std/string/str
-  i32.const 256
+  i32.const 112
+  i32.const 112
   i32.const 0
   call $~lib/string/String#indexOf
   i32.const 0
@@ -7552,6 +7548,66 @@
    call $~lib/env/abort
    unreachable
   end
+  i32.const 112
+  i32.const 208
+  i32.const 0
+  call $~lib/string/String#indexOf
+  i32.const -1
+  i32.eq
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 56
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
+  i32.const 128
+  i32.const 128
+  i32.const 0
+  call $~lib/string/String#indexOf
+  i32.const 0
+  i32.eq
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 57
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
+  global.get $std/string/str
+  global.get $std/string/str
+  i32.const 0
+  call $~lib/string/String#indexOf
+  i32.const 0
+  i32.eq
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 58
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
+  global.get $std/string/str
+  i32.const 112
+  i32.const 0
+  call $~lib/string/String#indexOf
+  i32.const 0
+  i32.eq
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 59
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
   global.get $std/string/str
   i32.const 432
   i32.const 0
@@ -7562,7 +7618,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 56
+   i32.const 60
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7577,7 +7633,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 57
+   i32.const 61
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7592,7 +7648,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 58
+   i32.const 62
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7607,7 +7663,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 59
+   i32.const 63
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7622,7 +7678,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 60
+   i32.const 64
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7630,8 +7686,8 @@
   block (result i32)
    i32.const 1
    global.set $~lib/argc
-   i32.const 256
-   i32.const 256
+   i32.const 112
+   i32.const 112
    i32.const 0
    call $~lib/string/String#lastIndexOf|trampoline
   end
@@ -7641,7 +7697,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 62
+   i32.const 66
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7649,8 +7705,8 @@
   block (result i32)
    i32.const 1
    global.set $~lib/argc
-   i32.const 256
-   i32.const 192
+   i32.const 112
+   i32.const 208
    i32.const 0
    call $~lib/string/String#lastIndexOf|trampoline
   end
@@ -7660,7 +7716,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 63
+   i32.const 67
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7669,7 +7725,7 @@
    i32.const 1
    global.set $~lib/argc
    global.get $std/string/str
-   i32.const 256
+   i32.const 112
    i32.const 0
    call $~lib/string/String#lastIndexOf|trampoline
   end
@@ -7680,7 +7736,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 64
+   i32.const 68
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7699,7 +7755,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 65
+   i32.const 69
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7718,7 +7774,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 66
+   i32.const 70
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7737,7 +7793,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 67
+   i32.const 71
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7752,7 +7808,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 68
+   i32.const 72
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7767,7 +7823,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 69
+   i32.const 73
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7782,7 +7838,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 70
+   i32.const 74
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7797,13 +7853,13 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 71
+   i32.const 75
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
   global.get $std/string/str
-  i32.const 192
+  i32.const 208
   i32.const 0
   call $~lib/string/String#lastIndexOf
   i32.const 0
@@ -7812,7 +7868,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 72
+   i32.const 76
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7826,7 +7882,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 78
+   i32.const 82
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7840,7 +7896,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 79
+   i32.const 83
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7854,7 +7910,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 80
+   i32.const 84
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7868,7 +7924,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 81
+   i32.const 85
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7882,7 +7938,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 82
+   i32.const 86
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7896,7 +7952,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 83
+   i32.const 87
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7910,7 +7966,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 84
+   i32.const 88
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7924,7 +7980,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 85
+   i32.const 89
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7937,7 +7993,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 87
+   i32.const 91
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7950,7 +8006,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 88
+   i32.const 92
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7963,7 +8019,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 89
+   i32.const 93
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7976,7 +8032,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 90
+   i32.const 94
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -7989,12 +8045,12 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 91
+   i32.const 95
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
-  i32.const 280
+  i32.const 128
   i32.const 648
   call $~lib/string/String.__concat
   global.set $std/string/c
@@ -8002,54 +8058,6 @@
   i32.const 656
   call $~lib/string/String.__eq
   i32.eqz
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 94
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  global.get $std/string/c
-  i32.const 280
-  call $~lib/string/String.__ne
-  i32.eqz
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 95
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  i32.const 256
-  i32.const 256
-  call $~lib/string/String.__eq
-  i32.eqz
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 96
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  i32.const 256
-  global.get $std/string/nullStr
-  call $~lib/string/String.__ne
-  i32.eqz
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 97
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  global.get $std/string/nullStr
-  i32.const 256
-  call $~lib/string/String.__ne
-  i32.eqz
   if
    i32.const 0
    i32.const 48
@@ -8058,8 +8066,8 @@
    call $~lib/env/abort
    unreachable
   end
-  i32.const 280
-  i32.const 648
+  global.get $std/string/c
+  i32.const 128
   call $~lib/string/String.__ne
   i32.eqz
   if
@@ -8070,8 +8078,8 @@
    call $~lib/env/abort
    unreachable
   end
-  i32.const 280
-  i32.const 280
+  i32.const 112
+  i32.const 112
   call $~lib/string/String.__eq
   i32.eqz
   if
@@ -8082,6 +8090,54 @@
    call $~lib/env/abort
    unreachable
   end
+  i32.const 112
+  global.get $std/string/nullStr
+  call $~lib/string/String.__ne
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 101
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
+  global.get $std/string/nullStr
+  i32.const 112
+  call $~lib/string/String.__ne
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 102
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
+  i32.const 128
+  i32.const 648
+  call $~lib/string/String.__ne
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 103
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
+  i32.const 128
+  i32.const 128
+  call $~lib/string/String.__eq
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 104
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
   i32.const 664
   i32.const 680
   call $~lib/string/String.__ne
@@ -8089,7 +8145,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 101
+   i32.const 105
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8101,7 +8157,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 102
+   i32.const 106
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8113,7 +8169,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 103
+   i32.const 107
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8125,7 +8181,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 104
+   i32.const 108
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8137,7 +8193,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 105
+   i32.const 109
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8149,7 +8205,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 106
+   i32.const 110
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8161,31 +8217,31 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 107
+   i32.const 111
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
   i32.const 648
-  i32.const 280
+  i32.const 128
   call $~lib/string/String.__gt
   i32.eqz
   if
    i32.const 0
    i32.const 48
-   i32.const 109
+   i32.const 113
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
   i32.const 864
-  i32.const 280
+  i32.const 128
   call $~lib/string/String.__gt
   i32.eqz
   if
    i32.const 0
    i32.const 48
-   i32.const 110
+   i32.const 114
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8197,7 +8253,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 111
+   i32.const 115
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8206,45 +8262,6 @@
   i32.const 656
   call $~lib/string/String.__gt
   i32.eqz
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 112
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  i32.const 864
-  i32.const 656
-  call $~lib/string/String.__lt
-  i32.eqz
-  i32.eqz
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 113
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  i32.const 648
-  global.get $std/string/nullStr
-  call $~lib/string/String.__lt
-  i32.eqz
-  i32.eqz
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 115
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  global.get $std/string/nullStr
-  i32.const 648
-  call $~lib/string/String.__lt
-  i32.eqz
-  i32.eqz
   if
    i32.const 0
    i32.const 48
@@ -8253,22 +8270,24 @@
    call $~lib/env/abort
    unreachable
   end
-  i32.const 288
-  i32.const 256
-  call $~lib/string/String.__gt
+  i32.const 864
+  i32.const 656
+  call $~lib/string/String.__lt
+  i32.eqz
   i32.eqz
   if
    i32.const 0
    i32.const 48
-   i32.const 118
+   i32.const 117
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
-  i32.const 256
-  i32.const 288
+  i32.const 648
+  global.get $std/string/nullStr
   call $~lib/string/String.__lt
   i32.eqz
+  i32.eqz
   if
    i32.const 0
    i32.const 48
@@ -8277,9 +8296,10 @@
    call $~lib/env/abort
    unreachable
   end
-  i32.const 288
-  i32.const 256
-  call $~lib/string/String.__gte
+  global.get $std/string/nullStr
+  i32.const 648
+  call $~lib/string/String.__lt
+  i32.eqz
   i32.eqz
   if
    i32.const 0
@@ -8289,22 +8309,9 @@
    call $~lib/env/abort
    unreachable
   end
-  i32.const 256
   i32.const 288
-  call $~lib/string/String.__lte
-  i32.eqz
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 121
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  i32.const 288
-  i32.const 256
-  call $~lib/string/String.__lt
-  i32.eqz
+  i32.const 112
+  call $~lib/string/String.__gt
   i32.eqz
   if
    i32.const 0
@@ -8314,10 +8321,9 @@
    call $~lib/env/abort
    unreachable
   end
-  i32.const 256
+  i32.const 112
   i32.const 288
-  call $~lib/string/String.__gt
-  i32.eqz
+  call $~lib/string/String.__lt
   i32.eqz
   if
    i32.const 0
@@ -8327,10 +8333,9 @@
    call $~lib/env/abort
    unreachable
   end
-  i32.const 256
-  i32.const 256
-  call $~lib/string/String.__lt
-  i32.eqz
+  i32.const 288
+  i32.const 112
+  call $~lib/string/String.__gte
   i32.eqz
   if
    i32.const 0
@@ -8340,10 +8345,9 @@
    call $~lib/env/abort
    unreachable
   end
-  i32.const 256
-  i32.const 256
-  call $~lib/string/String.__gt
-  i32.eqz
+  i32.const 112
+  i32.const 288
+  call $~lib/string/String.__lte
   i32.eqz
   if
    i32.const 0
@@ -8353,9 +8357,10 @@
    call $~lib/env/abort
    unreachable
   end
-  i32.const 256
-  i32.const 256
-  call $~lib/string/String.__gte
+  i32.const 288
+  i32.const 112
+  call $~lib/string/String.__lt
+  i32.eqz
   i32.eqz
   if
    i32.const 0
@@ -8365,9 +8370,10 @@
    call $~lib/env/abort
    unreachable
   end
-  i32.const 256
-  i32.const 256
-  call $~lib/string/String.__lte
+  i32.const 112
+  i32.const 288
+  call $~lib/string/String.__gt
+  i32.eqz
   i32.eqz
   if
    i32.const 0
@@ -8377,6 +8383,56 @@
    call $~lib/env/abort
    unreachable
   end
+  i32.const 112
+  i32.const 112
+  call $~lib/string/String.__lt
+  i32.eqz
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 128
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
+  i32.const 112
+  i32.const 112
+  call $~lib/string/String.__gt
+  i32.eqz
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 129
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
+  i32.const 112
+  i32.const 112
+  call $~lib/string/String.__gte
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 130
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
+  i32.const 112
+  i32.const 112
+  call $~lib/string/String.__lte
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 131
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
   i32.const 65377
   call $~lib/string/String.fromCodePoint
   global.set $std/string/a
@@ -8393,7 +8449,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 131
+   i32.const 135
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8403,48 +8459,6 @@
   i32.const 3
   i32.eq
   i32.eqz
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 133
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  i32.const 256
-  i32.const 100
-  call $~lib/string/String#repeat
-  i32.const 256
-  call $~lib/string/String.__eq
-  i32.eqz
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 135
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  i32.const 280
-  i32.const 0
-  call $~lib/string/String#repeat
-  i32.const 256
-  call $~lib/string/String.__eq
-  i32.eqz
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 136
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  i32.const 280
-  i32.const 1
-  call $~lib/string/String#repeat
-  i32.const 280
-  call $~lib/string/String.__eq
-  i32.eqz
   if
    i32.const 0
    i32.const 48
@@ -8453,7 +8467,49 @@
    call $~lib/env/abort
    unreachable
   end
-  i32.const 280
+  i32.const 112
+  i32.const 100
+  call $~lib/string/String#repeat
+  i32.const 112
+  call $~lib/string/String.__eq
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 139
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
+  i32.const 128
+  i32.const 0
+  call $~lib/string/String#repeat
+  i32.const 112
+  call $~lib/string/String.__eq
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 140
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
+  i32.const 128
+  i32.const 1
+  call $~lib/string/String#repeat
+  i32.const 128
+  call $~lib/string/String.__eq
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 141
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
+  i32.const 128
   i32.const 2
   call $~lib/string/String#repeat
   i32.const 872
@@ -8462,12 +8518,12 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 138
+   i32.const 142
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
-  i32.const 280
+  i32.const 128
   i32.const 3
   call $~lib/string/String#repeat
   i32.const 880
@@ -8476,7 +8532,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 139
+   i32.const 143
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8490,12 +8546,12 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 140
+   i32.const 144
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
-  i32.const 280
+  i32.const 128
   i32.const 5
   call $~lib/string/String#repeat
   i32.const 920
@@ -8504,12 +8560,12 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 141
+   i32.const 145
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
-  i32.const 280
+  i32.const 128
   i32.const 6
   call $~lib/string/String#repeat
   i32.const 936
@@ -8518,12 +8574,12 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 142
+   i32.const 146
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
-  i32.const 280
+  i32.const 128
   i32.const 7
   call $~lib/string/String#repeat
   i32.const 952
@@ -8532,7 +8588,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 143
+   i32.const 147
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8553,7 +8609,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 147
+   i32.const 151
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8572,7 +8628,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 148
+   i32.const 152
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8591,7 +8647,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 149
+   i32.const 153
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8606,7 +8662,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 150
+   i32.const 154
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8621,7 +8677,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 151
+   i32.const 155
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8630,13 +8686,13 @@
   i32.const 4
   i32.const 3
   call $~lib/string/String#slice
-  i32.const 256
+  i32.const 112
   call $~lib/string/String.__eq
   i32.eqz
   if
    i32.const 0
    i32.const 48
-   i32.const 152
+   i32.const 156
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8651,7 +8707,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 153
+   i32.const 157
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8659,7 +8715,7 @@
   block (result i32)
    i32.const 0
    global.set $~lib/argc
-   i32.const 256
+   i32.const 112
    i32.const 0
    i32.const 0
    call $~lib/string/String#split|trampoline
@@ -8678,7 +8734,7 @@
    global.get $std/string/sa
    i32.const 0
    call $~lib/array/Array<~lib/string/String>#__get
-   i32.const 256
+   i32.const 112
    call $~lib/string/String.__eq
   else   
    local.get $2
@@ -8687,7 +8743,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 158
+   i32.const 162
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8695,8 +8751,8 @@
   block (result i32)
    i32.const 1
    global.set $~lib/argc
-   i32.const 256
-   i32.const 256
+   i32.const 112
+   i32.const 112
    i32.const 0
    call $~lib/string/String#split|trampoline
   end
@@ -8713,7 +8769,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 160
+   i32.const 164
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8721,7 +8777,7 @@
   block (result i32)
    i32.const 1
    global.set $~lib/argc
-   i32.const 256
+   i32.const 112
    i32.const 432
    i32.const 0
    call $~lib/string/String#split|trampoline
@@ -8740,7 +8796,7 @@
    global.get $std/string/sa
    i32.const 0
    call $~lib/array/Array<~lib/string/String>#__get
-   i32.const 256
+   i32.const 112
    call $~lib/string/String.__eq
   else   
    local.get $2
@@ -8749,7 +8805,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 162
+   i32.const 166
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8785,7 +8841,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 164
+   i32.const 168
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8812,7 +8868,7 @@
    global.get $std/string/sa
    i32.const 0
    call $~lib/array/Array<~lib/string/String>#__get
-   i32.const 280
+   i32.const 128
    call $~lib/string/String.__eq
   else   
    local.get $2
@@ -8841,7 +8897,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 166
+   i32.const 170
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8868,7 +8924,7 @@
    global.get $std/string/sa
    i32.const 0
    call $~lib/array/Array<~lib/string/String>#__get
-   i32.const 280
+   i32.const 128
    call $~lib/string/String.__eq
   else   
    local.get $2
@@ -8897,7 +8953,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 168
+   i32.const 172
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8924,7 +8980,7 @@
    global.get $std/string/sa
    i32.const 0
    call $~lib/array/Array<~lib/string/String>#__get
-   i32.const 280
+   i32.const 128
    call $~lib/string/String.__eq
   else   
    local.get $2
@@ -8944,7 +9000,7 @@
    global.get $std/string/sa
    i32.const 2
    call $~lib/array/Array<~lib/string/String>#__get
-   i32.const 256
+   i32.const 112
    call $~lib/string/String.__eq
   else   
    local.get $2
@@ -8963,7 +9019,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 170
+   i32.const 174
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -8990,7 +9046,7 @@
    global.get $std/string/sa
    i32.const 0
    call $~lib/array/Array<~lib/string/String>#__get
-   i32.const 256
+   i32.const 112
    call $~lib/string/String.__eq
   else   
    local.get $2
@@ -9000,7 +9056,7 @@
    global.get $std/string/sa
    i32.const 1
    call $~lib/array/Array<~lib/string/String>#__get
-   i32.const 280
+   i32.const 128
    call $~lib/string/String.__eq
   else   
    local.get $2
@@ -9029,7 +9085,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 172
+   i32.const 176
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9056,7 +9112,7 @@
    global.get $std/string/sa
    i32.const 0
    call $~lib/array/Array<~lib/string/String>#__get
-   i32.const 280
+   i32.const 128
    call $~lib/string/String.__eq
   else   
    local.get $2
@@ -9086,7 +9142,7 @@
    global.get $std/string/sa
    i32.const 3
    call $~lib/array/Array<~lib/string/String>#__get
-   i32.const 256
+   i32.const 112
    call $~lib/string/String.__eq
   else   
    local.get $2
@@ -9095,7 +9151,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 174
+   i32.const 178
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9104,7 +9160,7 @@
    i32.const 1
    global.set $~lib/argc
    i32.const 288
-   i32.const 256
+   i32.const 112
    i32.const 0
    call $~lib/string/String#split|trampoline
   end
@@ -9122,7 +9178,7 @@
    global.get $std/string/sa
    i32.const 0
    call $~lib/array/Array<~lib/string/String>#__get
-   i32.const 280
+   i32.const 128
    call $~lib/string/String.__eq
   else   
    local.get $2
@@ -9151,13 +9207,13 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 176
+   i32.const 180
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
   i32.const 288
-  i32.const 256
+  i32.const 112
   i32.const 0
   call $~lib/string/String#split
   global.set $std/string/sa
@@ -9173,13 +9229,13 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 178
+   i32.const 182
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
   i32.const 288
-  i32.const 256
+  i32.const 112
   i32.const 1
   call $~lib/string/String#split
   global.set $std/string/sa
@@ -9196,7 +9252,7 @@
    global.get $std/string/sa
    i32.const 0
    call $~lib/array/Array<~lib/string/String>#__get
-   i32.const 280
+   i32.const 128
    call $~lib/string/String.__eq
   else   
    local.get $2
@@ -9205,7 +9261,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 180
+   i32.const 184
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9228,7 +9284,7 @@
    global.get $std/string/sa
    i32.const 0
    call $~lib/array/Array<~lib/string/String>#__get
-   i32.const 280
+   i32.const 128
    call $~lib/string/String.__eq
   else   
    local.get $2
@@ -9237,13 +9293,13 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 182
+   i32.const 186
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
   i32.const 288
-  i32.const 256
+  i32.const 112
   i32.const 4
   call $~lib/string/String#split
   global.set $std/string/sa
@@ -9260,111 +9316,7 @@
    global.get $std/string/sa
    i32.const 0
    call $~lib/array/Array<~lib/string/String>#__get
-   i32.const 280
-   call $~lib/string/String.__eq
-  else   
-   local.get $2
-  end
-  local.tee $2
-  if (result i32)
-   global.get $std/string/sa
-   i32.const 1
-   call $~lib/array/Array<~lib/string/String>#__get
-   i32.const 648
-   call $~lib/string/String.__eq
-  else   
-   local.get $2
-  end
-  local.tee $2
-  if (result i32)
-   global.get $std/string/sa
-   i32.const 2
-   call $~lib/array/Array<~lib/string/String>#__get
-   i32.const 1216
-   call $~lib/string/String.__eq
-  else   
-   local.get $2
-  end
-  i32.eqz
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 184
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  i32.const 288
-  i32.const 256
-  i32.const -1
-  call $~lib/string/String#split
-  global.set $std/string/sa
-  block $~lib/array/Array<~lib/string/String>#get:length|inlined.14 (result i32)
-   global.get $std/string/sa
-   local.set $2
-   local.get $2
-   i32.load offset=4
-  end
-  i32.const 3
-  i32.eq
-  local.tee $2
-  if (result i32)
-   global.get $std/string/sa
-   i32.const 0
-   call $~lib/array/Array<~lib/string/String>#__get
-   i32.const 280
-   call $~lib/string/String.__eq
-  else   
-   local.get $2
-  end
-  local.tee $2
-  if (result i32)
-   global.get $std/string/sa
-   i32.const 1
-   call $~lib/array/Array<~lib/string/String>#__get
-   i32.const 648
-   call $~lib/string/String.__eq
-  else   
-   local.get $2
-  end
-  local.tee $2
-  if (result i32)
-   global.get $std/string/sa
-   i32.const 2
-   call $~lib/array/Array<~lib/string/String>#__get
-   i32.const 1216
-   call $~lib/string/String.__eq
-  else   
-   local.get $2
-  end
-  i32.eqz
-  if
-   i32.const 0
-   i32.const 48
-   i32.const 186
-   i32.const 0
-   call $~lib/env/abort
-   unreachable
-  end
-  i32.const 1192
-  i32.const 432
-  i32.const -1
-  call $~lib/string/String#split
-  global.set $std/string/sa
-  block $~lib/array/Array<~lib/string/String>#get:length|inlined.15 (result i32)
-   global.get $std/string/sa
-   local.set $2
-   local.get $2
-   i32.load offset=4
-  end
-  i32.const 3
-  i32.eq
-  local.tee $2
-  if (result i32)
-   global.get $std/string/sa
-   i32.const 0
-   call $~lib/array/Array<~lib/string/String>#__get
-   i32.const 280
+   i32.const 128
    call $~lib/string/String.__eq
   else   
    local.get $2
@@ -9398,6 +9350,110 @@
    call $~lib/env/abort
    unreachable
   end
+  i32.const 288
+  i32.const 112
+  i32.const -1
+  call $~lib/string/String#split
+  global.set $std/string/sa
+  block $~lib/array/Array<~lib/string/String>#get:length|inlined.14 (result i32)
+   global.get $std/string/sa
+   local.set $2
+   local.get $2
+   i32.load offset=4
+  end
+  i32.const 3
+  i32.eq
+  local.tee $2
+  if (result i32)
+   global.get $std/string/sa
+   i32.const 0
+   call $~lib/array/Array<~lib/string/String>#__get
+   i32.const 128
+   call $~lib/string/String.__eq
+  else   
+   local.get $2
+  end
+  local.tee $2
+  if (result i32)
+   global.get $std/string/sa
+   i32.const 1
+   call $~lib/array/Array<~lib/string/String>#__get
+   i32.const 648
+   call $~lib/string/String.__eq
+  else   
+   local.get $2
+  end
+  local.tee $2
+  if (result i32)
+   global.get $std/string/sa
+   i32.const 2
+   call $~lib/array/Array<~lib/string/String>#__get
+   i32.const 1216
+   call $~lib/string/String.__eq
+  else   
+   local.get $2
+  end
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 190
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
+  i32.const 1192
+  i32.const 432
+  i32.const -1
+  call $~lib/string/String#split
+  global.set $std/string/sa
+  block $~lib/array/Array<~lib/string/String>#get:length|inlined.15 (result i32)
+   global.get $std/string/sa
+   local.set $2
+   local.get $2
+   i32.load offset=4
+  end
+  i32.const 3
+  i32.eq
+  local.tee $2
+  if (result i32)
+   global.get $std/string/sa
+   i32.const 0
+   call $~lib/array/Array<~lib/string/String>#__get
+   i32.const 128
+   call $~lib/string/String.__eq
+  else   
+   local.get $2
+  end
+  local.tee $2
+  if (result i32)
+   global.get $std/string/sa
+   i32.const 1
+   call $~lib/array/Array<~lib/string/String>#__get
+   i32.const 648
+   call $~lib/string/String.__eq
+  else   
+   local.get $2
+  end
+  local.tee $2
+  if (result i32)
+   global.get $std/string/sa
+   i32.const 2
+   call $~lib/array/Array<~lib/string/String>#__get
+   i32.const 1216
+   call $~lib/string/String.__eq
+  else   
+   local.get $2
+  end
+  i32.eqz
+  if
+   i32.const 0
+   i32.const 48
+   i32.const 192
+   i32.const 0
+   call $~lib/env/abort
+   unreachable
+  end
   i32.const 0
   call $~lib/internal/number/itoa32
   i32.const 480
@@ -9406,7 +9462,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 190
+   i32.const 194
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9419,7 +9475,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 191
+   i32.const 195
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9432,7 +9488,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 192
+   i32.const 196
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9445,7 +9501,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 193
+   i32.const 197
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9458,7 +9514,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 194
+   i32.const 198
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9471,7 +9527,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 195
+   i32.const 199
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9484,7 +9540,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 196
+   i32.const 200
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9497,7 +9553,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 197
+   i32.const 201
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9510,7 +9566,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 198
+   i32.const 202
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9523,7 +9579,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 199
+   i32.const 203
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9536,7 +9592,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 200
+   i32.const 204
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9549,7 +9605,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 201
+   i32.const 205
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9562,7 +9618,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 202
+   i32.const 206
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9575,7 +9631,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 203
+   i32.const 207
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9588,7 +9644,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 205
+   i32.const 209
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9601,7 +9657,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 206
+   i32.const 210
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9614,7 +9670,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 207
+   i32.const 211
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9627,7 +9683,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 208
+   i32.const 212
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9640,7 +9696,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 209
+   i32.const 213
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9653,7 +9709,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 211
+   i32.const 215
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9666,7 +9722,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 212
+   i32.const 216
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9679,7 +9735,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 213
+   i32.const 217
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9692,7 +9748,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 214
+   i32.const 218
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9705,7 +9761,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 215
+   i32.const 219
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9718,7 +9774,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 216
+   i32.const 220
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9731,7 +9787,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 217
+   i32.const 221
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9744,7 +9800,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 218
+   i32.const 222
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9757,7 +9813,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 219
+   i32.const 223
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9770,7 +9826,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 220
+   i32.const 224
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9783,7 +9839,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 221
+   i32.const 225
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9796,7 +9852,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 223
+   i32.const 227
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9809,7 +9865,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 224
+   i32.const 228
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9822,7 +9878,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 225
+   i32.const 229
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9835,7 +9891,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 226
+   i32.const 230
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9848,7 +9904,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 227
+   i32.const 231
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9861,7 +9917,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 228
+   i32.const 232
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9874,7 +9930,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 229
+   i32.const 233
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9887,7 +9943,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 230
+   i32.const 234
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9900,7 +9956,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 231
+   i32.const 235
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9913,7 +9969,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 232
+   i32.const 236
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9926,7 +9982,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 233
+   i32.const 237
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9939,7 +9995,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 236
+   i32.const 240
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9952,7 +10008,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 237
+   i32.const 241
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9965,7 +10021,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 238
+   i32.const 242
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9978,7 +10034,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 239
+   i32.const 243
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -9992,7 +10048,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 240
+   i32.const 244
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10005,7 +10061,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 241
+   i32.const 245
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10019,7 +10075,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 242
+   i32.const 246
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10032,7 +10088,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 243
+   i32.const 247
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10046,7 +10102,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 244
+   i32.const 248
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10059,7 +10115,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 245
+   i32.const 249
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10072,7 +10128,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 246
+   i32.const 250
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10085,7 +10141,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 249
+   i32.const 253
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10098,7 +10154,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 250
+   i32.const 254
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10111,7 +10167,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 251
+   i32.const 255
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10124,7 +10180,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 252
+   i32.const 256
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10137,7 +10193,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 253
+   i32.const 257
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10150,7 +10206,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 259
+   i32.const 263
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10163,7 +10219,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 260
+   i32.const 264
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10176,7 +10232,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 261
+   i32.const 265
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10189,7 +10245,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 262
+   i32.const 266
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10202,7 +10258,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 264
+   i32.const 268
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10215,7 +10271,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 265
+   i32.const 269
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10228,7 +10284,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 266
+   i32.const 270
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10241,7 +10297,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 267
+   i32.const 271
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10254,7 +10310,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 268
+   i32.const 272
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10267,7 +10323,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 269
+   i32.const 273
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10280,7 +10336,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 271
+   i32.const 275
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10293,7 +10349,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 272
+   i32.const 276
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10306,7 +10362,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 273
+   i32.const 277
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10319,7 +10375,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 274
+   i32.const 278
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10332,7 +10388,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 275
+   i32.const 279
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10345,7 +10401,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 276
+   i32.const 280
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10358,7 +10414,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 277
+   i32.const 281
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10371,7 +10427,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 278
+   i32.const 282
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10384,7 +10440,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 279
+   i32.const 283
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10397,7 +10453,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 281
+   i32.const 285
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10410,7 +10466,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 282
+   i32.const 286
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10423,7 +10479,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 284
+   i32.const 288
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10436,7 +10492,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 285
+   i32.const 289
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10449,7 +10505,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 286
+   i32.const 290
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10462,7 +10518,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 287
+   i32.const 291
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10477,7 +10533,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 289
+   i32.const 293
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10490,7 +10546,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 290
+   i32.const 294
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10503,7 +10559,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 291
+   i32.const 295
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10516,7 +10572,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 292
+   i32.const 296
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10529,7 +10585,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 293
+   i32.const 297
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10542,7 +10598,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 294
+   i32.const 298
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10555,7 +10611,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 295
+   i32.const 299
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10568,7 +10624,7 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 296
+   i32.const 300
    i32.const 0
    call $~lib/env/abort
    unreachable
@@ -10581,18 +10637,18 @@
   if
    i32.const 0
    i32.const 48
-   i32.const 297
+   i32.const 301
    i32.const 0
    call $~lib/env/abort
    unreachable
   end
  )
- (func $std/string/getString (; 65 ;) (type $FUNCSIG$i) (result i32)
+ (func $std/string/getString (; 66 ;) (type $FUNCSIG$i) (result i32)
   global.get $std/string/str
  )
- (func $start (; 66 ;) (type $FUNCSIG$v)
+ (func $start (; 67 ;) (type $FUNCSIG$v)
   call $start:std/string
  )
- (func $null (; 67 ;) (type $FUNCSIG$v)
+ (func $null (; 68 ;) (type $FUNCSIG$v)
  )
 )