From e522cbce57c47f1f0204950f697c56ea586ff294 Mon Sep 17 00:00:00 2001
From: Rick Waldron <waldron.rick@gmail.com>
Date: Mon, 22 May 2017 13:16:30 -0400
Subject: [PATCH] Update algorithm step definitions

Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
---
 .../ary-init-iter-get-err.case                      |  3 +--
 .../ary-name-iter-val.case                          |  9 ++++-----
 .../ary-ptrn-elem-ary-elem-init.case                |  2 +-
 .../ary-ptrn-elem-ary-elem-iter.case                |  2 +-
 .../ary-ptrn-elem-ary-elision-init.case             |  2 +-
 .../ary-ptrn-elem-ary-elision-iter.case             |  2 +-
 .../ary-ptrn-elem-ary-empty-init.case               |  2 +-
 .../ary-ptrn-elem-ary-empty-iter.case               |  2 +-
 .../ary-ptrn-elem-ary-rest-init.case                |  2 +-
 .../ary-ptrn-elem-ary-rest-iter.case                |  2 +-
 .../ary-ptrn-elem-ary-val-null.case                 |  5 ++---
 .../ary-ptrn-elem-id-init-exhausted.case            | 10 +++++-----
 .../ary-ptrn-elem-id-init-fn-name-arrow.case        | 13 ++++++-------
 .../ary-ptrn-elem-id-init-fn-name-class.case        | 13 ++++++-------
 .../ary-ptrn-elem-id-init-fn-name-cover.case        | 13 ++++++-------
 .../ary-ptrn-elem-id-init-fn-name-fn.case           | 13 ++++++-------
 .../ary-ptrn-elem-id-init-fn-name-gen.case          | 13 ++++++-------
 .../ary-ptrn-elem-id-init-hole.case                 |  8 ++++----
 .../ary-ptrn-elem-id-init-skipped.case              |  4 ++--
 .../ary-ptrn-elem-id-init-throws.case               |  7 +++----
 .../ary-ptrn-elem-id-init-undef.case                |  8 ++++----
 .../ary-ptrn-elem-id-init-unresolvable.case         |  9 ++++-----
 .../ary-ptrn-elem-id-iter-complete.case             |  8 ++++----
 .../ary-ptrn-elem-id-iter-done.case                 |  8 ++++----
 .../ary-ptrn-elem-id-iter-step-err.case             |  4 ++--
 .../ary-ptrn-elem-id-iter-val-err.case              |  4 ++--
 .../ary-ptrn-elem-id-iter-val.case                  |  9 ++++-----
 .../ary-ptrn-elem-obj-id-init.case                  |  2 +-
 .../ary-ptrn-elem-obj-id.case                       |  2 +-
 .../ary-ptrn-elem-obj-prop-id-init.case             |  2 +-
 .../ary-ptrn-elem-obj-prop-id.case                  |  2 +-
 .../ary-ptrn-elem-obj-val-null.case                 |  2 +-
 .../ary-ptrn-elem-obj-val-undef.case                |  2 +-
 .../ary-ptrn-rest-ary-elem.case                     |  9 ++++-----
 .../obj-ptrn-id-get-value-err.case                  |  2 +-
 .../obj-ptrn-id-init-fn-name-arrow.case             |  2 +-
 .../obj-ptrn-id-init-fn-name-class.case             |  2 +-
 .../obj-ptrn-id-init-fn-name-cover.case             |  2 +-
 .../obj-ptrn-id-init-fn-name-fn.case                |  2 +-
 .../obj-ptrn-id-init-fn-name-gen.case               |  2 +-
 .../obj-ptrn-id-init-skipped.case                   |  2 +-
 .../obj-ptrn-id-init-throws.case                    |  2 +-
 .../obj-ptrn-id-init-unresolvable.case              |  9 ++++-----
 .../obj-ptrn-prop-ary-init.case                     |  5 ++---
 .../obj-ptrn-prop-id-get-value-err.case             |  2 +-
 .../obj-ptrn-prop-id-init-skipped.case              |  2 +-
 .../obj-ptrn-prop-id-init-throws.case               |  7 +++----
 .../obj-ptrn-prop-id-init-unresolvable.case         |  9 ++++-----
 .../obj-ptrn-prop-id-init.case                      |  4 ++--
 .../obj-ptrn-prop-id.case                           |  4 ++--
 .../obj-ptrn-prop-obj-init.case                     |  5 ++---
 51 files changed, 122 insertions(+), 139 deletions(-)

diff --git a/src/dstr-binding-async-iteration/ary-init-iter-get-err.case b/src/dstr-binding-async-iteration/ary-init-iter-get-err.case
index 22f52a5eeb..1ac51278be 100644
--- a/src/dstr-binding-async-iteration/ary-init-iter-get-err.case
+++ b/src/dstr-binding-async-iteration/ary-init-iter-get-err.case
@@ -8,8 +8,7 @@ info: |
 
     BindingPattern : ArrayBindingPattern
 
-    1. Let iterator be GetIterator(value).
-    2. ReturnIfAbrupt(iterator).
+    1. Let iterator be ? GetIterator(value).
 features: [Symbol.iterator]
 ---*/
 
diff --git a/src/dstr-binding-async-iteration/ary-name-iter-val.case b/src/dstr-binding-async-iteration/ary-name-iter-val.case
index d793554bba..624994f470 100644
--- a/src/dstr-binding-async-iteration/ary-name-iter-val.case
+++ b/src/dstr-binding-async-iteration/ary-name-iter-val.case
@@ -6,23 +6,22 @@ template: default
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    SingleNameBinding : BindingIdentifier Initializeropt
+    SingleNameBinding : BindingIdentifier Initializer_opt
 
     [...]
-    4. If iteratorRecord.[[done]] is false, then
+    3. If iteratorRecord.[[done]] is false, then
        a. Let next be IteratorStep(iteratorRecord.[[iterator]]).
        b. If next is an abrupt completion, set iteratorRecord.[[done]] to true.
        c. ReturnIfAbrupt(next).
        d. If next is false, set iteratorRecord.[[done]] to true.
        e. Else,
-          [...]
           i. Let v be IteratorValue(next).
           ii. If v is an abrupt completion, set
               iteratorRecord.[[done]] to true.
           iii. ReturnIfAbrupt(v).
-    5. If iteratorRecord.[[done]] is true, let v be undefined.
+    4. If iteratorRecord.[[done]] is true, let v be undefined.
     [...]
-    8. Return InitializeReferencedBinding(lhs, v).
+    7. Return InitializeReferencedBinding(lhs, v).
 ---*/
 
 //- elems
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-elem-init.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-elem-init.case
index bdb8f5cf39..ae00dace28 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-elem-init.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-elem-init.case
@@ -6,7 +6,7 @@ template: default
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    BindingElement : BindingPatternInitializer opt
+    BindingElement : BindingPattern Initializer_opt
 
     [...]
     2. If iteratorRecord.[[done]] is true, let v be undefined.
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-elem-iter.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-elem-iter.case
index 9bd2c5efd4..cb561cf1bb 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-elem-iter.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-elem-iter.case
@@ -6,7 +6,7 @@ template: default
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    BindingElement : BindingPatternInitializer opt
+    BindingElement : BindingPattern Initializer_opt
 
     1. If iteratorRecord.[[done]] is false, then
        a. Let next be IteratorStep(iteratorRecord.[[iterator]]).
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-elision-init.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-elision-init.case
index 0178a9989d..e09a765c7f 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-elision-init.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-elision-init.case
@@ -6,7 +6,7 @@ template: default
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    BindingElement : BindingPatternInitializer opt
+    BindingElement : BindingPattern Initializer_opt
 
     [...]
     2. If iteratorRecord.[[done]] is true, let v be undefined.
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-elision-iter.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-elision-iter.case
index 62dbda5e42..96f07a6d13 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-elision-iter.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-elision-iter.case
@@ -6,7 +6,7 @@ template: default
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    BindingElement : BindingPatternInitializer opt
+    BindingElement : BindingPattern Initializer_opt
 
     1. If iteratorRecord.[[done]] is false, then
        a. Let next be IteratorStep(iteratorRecord.[[iterator]]).
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-empty-init.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-empty-init.case
index 753486e61c..fcec666f24 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-empty-init.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-empty-init.case
@@ -6,7 +6,7 @@ template: default
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    BindingElement : BindingPatternInitializer opt
+    BindingElement : BindingPattern Initializer_opt
 
     [...]
     2. If iteratorRecord.[[done]] is true, let v be undefined.
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-empty-iter.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-empty-iter.case
index 7658202439..c88783d150 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-empty-iter.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-empty-iter.case
@@ -6,7 +6,7 @@ template: default
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    BindingElement : BindingPatternInitializer opt
+    BindingElement : BindingPattern Initializer_opt
 
     1. If iteratorRecord.[[done]] is false, then
        a. Let next be IteratorStep(iteratorRecord.[[iterator]]).
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-rest-init.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-rest-init.case
index 886ee7628b..59f46ff490 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-rest-init.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-rest-init.case
@@ -6,7 +6,7 @@ template: default
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    BindingElement : BindingPatternInitializer opt
+    BindingElement : BindingPattern Initializer_opt
 
     [...]
     2. If iteratorRecord.[[done]] is true, let v be undefined.
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-rest-iter.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-rest-iter.case
index 4e59bec956..b7269eac16 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-rest-iter.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-rest-iter.case
@@ -6,7 +6,7 @@ template: default
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    BindingElement : BindingPatternInitializer opt
+    BindingElement : BindingPattern Initializer_opt
 
     1. If iteratorRecord.[[done]] is false, then
        a. Let next be IteratorStep(iteratorRecord.[[iterator]]).
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-val-null.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-val-null.case
index aeedd3dd93..633f880f97 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-val-null.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-ary-val-null.case
@@ -6,7 +6,7 @@ template: error
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    BindingElement : BindingPattern Initializeropt
+    BindingElement : BindingPattern Initializer_opt
 
     1. If iteratorRecord.[[done]] is false, then
        [...]
@@ -20,8 +20,7 @@ info: |
 
     BindingPattern : ArrayBindingPattern
 
-    1. Let iterator be GetIterator(value).
-    2. ReturnIfAbrupt(iterator).
+    1. Let iterator be ? GetIterator(value).
 ---*/
 
 //- elems
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-exhausted.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-exhausted.case
index 72863c8273..df82792fe6 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-exhausted.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-exhausted.case
@@ -6,16 +6,16 @@ template: default
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    SingleNameBinding : BindingIdentifier Initializeropt
+    SingleNameBinding : BindingIdentifier Initializer_opt
 
     [...]
-    5. If iteratorRecord.[[done]] is true, let v be undefined.
-    6. If Initializer is present and v is undefined, then
+    4. If iteratorRecord.[[done]] is true, let v be undefined.
+    5. If Initializer is present and v is undefined, then
        a. Let defaultValue be the result of evaluating Initializer.
        b. Let v be GetValue(defaultValue).
        [...]
-    7. If environment is undefined, return PutValue(lhs, v).
-    8. Return InitializeReferencedBinding(lhs, v).
+    6. If environment is undefined, return PutValue(lhs, v).
+    7. Return InitializeReferencedBinding(lhs, v).
 ---*/
 
 //- elems
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-fn-name-arrow.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-fn-name-arrow.case
index d9508813b8..23001a4dd1 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-fn-name-arrow.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-fn-name-arrow.case
@@ -6,17 +6,16 @@ template: default
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    SingleNameBinding : BindingIdentifier Initializeropt
+    SingleNameBinding : BindingIdentifier Initializer_opt
 
     [...]
-    6. If Initializer is present and v is undefined, then
+    5. If Initializer is present and v is undefined, then
        a. Let defaultValue be the result of evaluating Initializer.
-       b. Let v be GetValue(defaultValue).
-       c. ReturnIfAbrupt(v).
-       d. If IsAnonymousFunctionDefinition(Initializer) is true, then
+       b. Set v to ? GetValue(defaultValue).
+       c. If IsAnonymousFunctionDefinition(Initializer) is true, then
           [...]
-    7. If environment is undefined, return PutValue(lhs, v).
-    8. Return InitializeReferencedBinding(lhs, v).
+    6. If environment is undefined, return PutValue(lhs, v).
+    7. Return InitializeReferencedBinding(lhs, v).
 ---*/
 
 //- elems
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-fn-name-class.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-fn-name-class.case
index 60c47a8c55..4185a236b5 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-fn-name-class.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-fn-name-class.case
@@ -6,17 +6,16 @@ template: default
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    SingleNameBinding : BindingIdentifier Initializeropt
+    SingleNameBinding : BindingIdentifier Initializer_opt
 
     [...]
-    6. If Initializer is present and v is undefined, then
+    5. If Initializer is present and v is undefined, then
        a. Let defaultValue be the result of evaluating Initializer.
-       b. Let v be GetValue(defaultValue).
-       c. ReturnIfAbrupt(v).
-       d. If IsAnonymousFunctionDefinition(Initializer) is true, then
+       b. Set v to ? GetValue(defaultValue).
+       c. If IsAnonymousFunctionDefinition(Initializer) is true, then
           [...]
-    7. If environment is undefined, return PutValue(lhs, v).
-    8. Return InitializeReferencedBinding(lhs, v).
+    6. If environment is undefined, return PutValue(lhs, v).
+    7. Return InitializeReferencedBinding(lhs, v).
 ---*/
 
 //- elems
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-fn-name-cover.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-fn-name-cover.case
index 7e0eeac7e6..e466b2b047 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-fn-name-cover.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-fn-name-cover.case
@@ -6,17 +6,16 @@ template: default
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    SingleNameBinding : BindingIdentifier Initializeropt
+    SingleNameBinding : BindingIdentifier Initializer_opt
 
     [...]
-    6. If Initializer is present and v is undefined, then
+    5. If Initializer is present and v is undefined, then
        a. Let defaultValue be the result of evaluating Initializer.
-       b. Let v be GetValue(defaultValue).
-       c. ReturnIfAbrupt(v).
-       d. If IsAnonymousFunctionDefinition(Initializer) is true, then
+       b. Set v to ? GetValue(defaultValue).
+       c. If IsAnonymousFunctionDefinition(Initializer) is true, then
           [...]
-    7. If environment is undefined, return PutValue(lhs, v).
-    8. Return InitializeReferencedBinding(lhs, v).
+    6. If environment is undefined, return PutValue(lhs, v).
+    7. Return InitializeReferencedBinding(lhs, v).
 ---*/
 
 //- elems
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-fn-name-fn.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-fn-name-fn.case
index 978470e6d3..e537c02c87 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-fn-name-fn.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-fn-name-fn.case
@@ -6,17 +6,16 @@ template: default
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    SingleNameBinding : BindingIdentifier Initializeropt
+    SingleNameBinding : BindingIdentifier Initializer_opt
 
     [...]
-    6. If Initializer is present and v is undefined, then
+    5. If Initializer is present and v is undefined, then
        a. Let defaultValue be the result of evaluating Initializer.
-       b. Let v be GetValue(defaultValue).
-       c. ReturnIfAbrupt(v).
-       d. If IsAnonymousFunctionDefinition(Initializer) is true, then
+       b. Set v to ? GetValue(defaultValue).
+       c. If IsAnonymousFunctionDefinition(Initializer) is true, then
           [...]
-    7. If environment is undefined, return PutValue(lhs, v).
-    8. Return InitializeReferencedBinding(lhs, v).
+    6. If environment is undefined, return PutValue(lhs, v).
+    7. Return InitializeReferencedBinding(lhs, v).
 ---*/
 
 //- elems
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-fn-name-gen.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-fn-name-gen.case
index 03c90595a6..5b1736e884 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-fn-name-gen.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-fn-name-gen.case
@@ -6,17 +6,16 @@ template: default
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    SingleNameBinding : BindingIdentifier Initializeropt
+    SingleNameBinding : BindingIdentifier Initializer_opt
 
     [...]
-    6. If Initializer is present and v is undefined, then
+    5. If Initializer is present and v is undefined, then
        a. Let defaultValue be the result of evaluating Initializer.
-       b. Let v be GetValue(defaultValue).
-       c. ReturnIfAbrupt(v).
-       d. If IsAnonymousFunctionDefinition(Initializer) is true, then
+       b. Set v to ? GetValue(defaultValue).
+       c. If IsAnonymousFunctionDefinition(Initializer) is true, then
           [...]
-    7. If environment is undefined, return PutValue(lhs, v).
-    8. Return InitializeReferencedBinding(lhs, v).
+    6. If environment is undefined, return PutValue(lhs, v).
+    7. Return InitializeReferencedBinding(lhs, v).
 ---*/
 
 //- elems
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-hole.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-hole.case
index 4da9a55451..a234fffd82 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-hole.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-hole.case
@@ -6,15 +6,15 @@ template: default
 info: >
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    SingleNameBinding : BindingIdentifier Initializeropt
+    SingleNameBinding : BindingIdentifier Initializer_opt
 
     [...]
-    6. If Initializer is present and v is undefined, then
+    5. If Initializer is present and v is undefined, then
        a. Let defaultValue be the result of evaluating Initializer.
        b. Let v be GetValue(defaultValue).
        [...]
-    7. If environment is undefined, return PutValue(lhs, v).
-    8. Return InitializeReferencedBinding(lhs, v).
+    6. If environment is undefined, return PutValue(lhs, v).
+    7. Return InitializeReferencedBinding(lhs, v).
 ---*/
 
 //- elems
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-skipped.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-skipped.case
index acee36deb0..84cf03cf45 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-skipped.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-skipped.case
@@ -6,13 +6,13 @@ template: default
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    SingleNameBinding : BindingIdentifier Initializeropt
+    SingleNameBinding : BindingIdentifier Initializer_opt
 
     [...]
     6. If Initializer is present and v is undefined, then
        [...]
     7. If environment is undefined, return PutValue(lhs, v).
-    8. Return InitializeReferencedBinding(lhs, v).
+    7. Return InitializeReferencedBinding(lhs, v).
 ---*/
 
 //- setup
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-throws.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-throws.case
index b4e2aa586f..f4eb856aa0 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-throws.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-throws.case
@@ -6,13 +6,12 @@ template: error
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    SingleNameBinding : BindingIdentifier Initializeropt
+    SingleNameBinding : BindingIdentifier Initializer_opt
 
     [...]
-    6. If Initializer is present and v is undefined, then
+    5. If Initializer is present and v is undefined, then
        a. Let defaultValue be the result of evaluating Initializer.
-       b. Let v be GetValue(defaultValue).
-       c. ReturnIfAbrupt(v).
+       b. Set v to ? GetValue(defaultValue).
 ---*/
 
 //- elems
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-undef.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-undef.case
index b33370600c..3cbf54138d 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-undef.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-undef.case
@@ -6,15 +6,15 @@ template: default
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    SingleNameBinding : BindingIdentifier Initializeropt
+    SingleNameBinding : BindingIdentifier Initializer_opt
 
     [...]
-    6. If Initializer is present and v is undefined, then
+    5. If Initializer is present and v is undefined, then
        a. Let defaultValue be the result of evaluating Initializer.
        b. Let v be GetValue(defaultValue).
        [...]
-    7. If environment is undefined, return PutValue(lhs, v).
-    8. Return InitializeReferencedBinding(lhs, v).
+    6. If environment is undefined, return PutValue(lhs, v).
+    7. Return InitializeReferencedBinding(lhs, v).
 ---*/
 
 //- elems
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-unresolvable.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-unresolvable.case
index 453f4284ba..9dc9bf8f4c 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-unresolvable.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-init-unresolvable.case
@@ -6,15 +6,14 @@ template: error
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    SingleNameBinding : BindingIdentifier Initializeropt
+    SingleNameBinding : BindingIdentifier Initializer_opt
 
     [...]
-    6. If Initializer is present and v is undefined, then
+    5. If Initializer is present and v is undefined, then
        a. Let defaultValue be the result of evaluating Initializer.
-       b. Let v be GetValue(defaultValue).
-       c. ReturnIfAbrupt(v).
+       b. Set v to ? GetValue(defaultValue).
 
-    6.2.3.1 GetValue (V)
+    6.2.4.1 GetValue ( V )
 
     1. ReturnIfAbrupt(V).
     2. If Type(V) is not Reference, return V.
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-iter-complete.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-iter-complete.case
index 0090e78252..de40bed9e7 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-iter-complete.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-iter-complete.case
@@ -6,19 +6,19 @@ template: default
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    SingleNameBinding : BindingIdentifier Initializeropt
+    SingleNameBinding : BindingIdentifier Initializer_opt
 
     [...]
-    4. If iteratorRecord.[[done]] is false, then
+    3. If iteratorRecord.[[done]] is false, then
        a. Let next be IteratorStep(iteratorRecord.[[iterator]]).
        b. If next is an abrupt completion, set iteratorRecord.[[done]] to true.
        c. ReturnIfAbrupt(next).
        d. If next is false, set iteratorRecord.[[done]] to true.
        e. Else,
           [...]
-    5. If iteratorRecord.[[done]] is true, let v be undefined.
+    4. If iteratorRecord.[[done]] is true, let v be undefined.
     [...]
-    8. Return InitializeReferencedBinding(lhs, v).
+    7. Return InitializeReferencedBinding(lhs, v).
 ---*/
 
 //- elems
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-iter-done.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-iter-done.case
index 71be204d40..e21fb9eaf9 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-iter-done.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-iter-done.case
@@ -6,14 +6,14 @@ template: default
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    SingleNameBinding : BindingIdentifier Initializeropt
+    SingleNameBinding : BindingIdentifier Initializer_opt
 
     [...]
-    4. If iteratorRecord.[[done]] is false, then
+    3. If iteratorRecord.[[done]] is false, then
        [...]
-    5. If iteratorRecord.[[done]] is true, let v be undefined.
+    4. If iteratorRecord.[[done]] is true, let v be undefined.
     [...]
-    8. Return InitializeReferencedBinding(lhs, v).
+    7. Return InitializeReferencedBinding(lhs, v).
 ---*/
 
 //- elems
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-iter-step-err.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-iter-step-err.case
index 930ac459d1..34faa9e14a 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-iter-step-err.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-iter-step-err.case
@@ -6,10 +6,10 @@ template: error
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    SingleNameBinding : BindingIdentifier Initializeropt
+    SingleNameBinding : BindingIdentifier Initializer_opt
 
     [...]
-    4. If iteratorRecord.[[done]] is false, then
+    3. If iteratorRecord.[[done]] is false, then
        a. Let next be IteratorStep(iteratorRecord.[[iterator]]).
        b. If next is an abrupt completion, set iteratorRecord.[[done]] to true.
        c. ReturnIfAbrupt(next).
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-iter-val-err.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-iter-val-err.case
index 65b569b266..d87224a323 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-iter-val-err.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-iter-val-err.case
@@ -6,10 +6,10 @@ template: error
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    SingleNameBinding : BindingIdentifier Initializeropt
+    SingleNameBinding : BindingIdentifier Initializer_opt
 
     [...]
-    4. If iteratorRecord.[[done]] is false, then
+    3. If iteratorRecord.[[done]] is false, then
        a. Let next be IteratorStep(iteratorRecord.[[iterator]]).
        b. If next is an abrupt completion, set iteratorRecord.[[done]] to true.
        c. ReturnIfAbrupt(next).
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-iter-val.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-iter-val.case
index d1f6df4617..364ffa6fbf 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-id-iter-val.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-id-iter-val.case
@@ -6,23 +6,22 @@ template: default
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    SingleNameBinding : BindingIdentifier Initializeropt
+    SingleNameBinding : BindingIdentifier Initializer_opt
 
     [...]
-    4. If iteratorRecord.[[done]] is false, then
+    3. If iteratorRecord.[[done]] is false, then
        a. Let next be IteratorStep(iteratorRecord.[[iterator]]).
        b. If next is an abrupt completion, set iteratorRecord.[[done]] to true.
        c. ReturnIfAbrupt(next).
        d. If next is false, set iteratorRecord.[[done]] to true.
        e. Else,
-          [...]
           i. Let v be IteratorValue(next).
           ii. If v is an abrupt completion, set
               iteratorRecord.[[done]] to true.
           iii. ReturnIfAbrupt(v).
-    5. If iteratorRecord.[[done]] is true, let v be undefined.
+    4. If iteratorRecord.[[done]] is true, let v be undefined.
     [...]
-    8. Return InitializeReferencedBinding(lhs, v).
+    7. Return InitializeReferencedBinding(lhs, v).
 ---*/
 
 //- elems
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-obj-id-init.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-obj-id-init.case
index c792499b1f..b3be0967b2 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-obj-id-init.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-obj-id-init.case
@@ -6,7 +6,7 @@ template: default
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    BindingElement : BindingPatternInitializer opt
+    BindingElement : BindingPattern Initializer_opt
 
     [...]
     2. If iteratorRecord.[[done]] is true, let v be undefined.
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-obj-id.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-obj-id.case
index 3ffcbeb043..d6ca94ed31 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-obj-id.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-obj-id.case
@@ -6,7 +6,7 @@ template: default
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    BindingElement : BindingPatternInitializer opt
+    BindingElement : BindingPattern Initializer_opt
 
     [...]
     2. If iteratorRecord.[[done]] is true, let v be undefined.
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-obj-prop-id-init.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-obj-prop-id-init.case
index 6664569c44..10887bd28f 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-obj-prop-id-init.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-obj-prop-id-init.case
@@ -6,7 +6,7 @@ template: default
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    BindingElement : BindingPatternInitializer opt
+    BindingElement : BindingPattern Initializer_opt
 
     [...]
     2. If iteratorRecord.[[done]] is true, let v be undefined.
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-obj-prop-id.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-obj-prop-id.case
index be7410e971..2c5bd0cbef 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-obj-prop-id.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-obj-prop-id.case
@@ -6,7 +6,7 @@ template: default
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    BindingElement : BindingPatternInitializer opt
+    BindingElement : BindingPattern Initializer_opt
 
     [...]
     2. If iteratorRecord.[[done]] is true, let v be undefined.
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-obj-val-null.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-obj-val-null.case
index 23b56ae8a4..bcdf94c98a 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-obj-val-null.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-obj-val-null.case
@@ -6,7 +6,7 @@ template: error
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    BindingElement : BindingPattern Initializeropt
+    BindingElement : BindingPattern Initializer_opt
 
     1. If iteratorRecord.[[done]] is false, then
        [...]
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-elem-obj-val-undef.case b/src/dstr-binding-async-iteration/ary-ptrn-elem-obj-val-undef.case
index 3c884f3430..f3603bc0ad 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-elem-obj-val-undef.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-elem-obj-val-undef.case
@@ -6,7 +6,7 @@ template: error
 info: |
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    BindingElement : BindingPattern Initializeropt
+    BindingElement : BindingPattern Initializer_opt
 
     1. If iteratorRecord.[[done]] is false, then
        [...]
diff --git a/src/dstr-binding-async-iteration/ary-ptrn-rest-ary-elem.case b/src/dstr-binding-async-iteration/ary-ptrn-rest-ary-elem.case
index bab100bba2..79a93524cc 100644
--- a/src/dstr-binding-async-iteration/ary-ptrn-rest-ary-elem.case
+++ b/src/dstr-binding-async-iteration/ary-ptrn-rest-ary-elem.case
@@ -19,23 +19,22 @@ info: |
 
     13.3.3.6 Runtime Semantics: IteratorBindingInitialization
 
-    SingleNameBinding : BindingIdentifier Initializeropt
+    SingleNameBinding : BindingIdentifier Initializer_opt
 
     [...]
-    4. If iteratorRecord.[[done]] is false, then
+    3. If iteratorRecord.[[done]] is false, then
        a. Let next be IteratorStep(iteratorRecord.[[iterator]]).
        b. If next is an abrupt completion, set iteratorRecord.[[done]] to true.
        c. ReturnIfAbrupt(next).
        d. If next is false, set iteratorRecord.[[done]] to true.
        e. Else,
-          [...]
           i. Let v be IteratorValue(next).
           ii. If v is an abrupt completion, set
               iteratorRecord.[[done]] to true.
           iii. ReturnIfAbrupt(v).
-    5. If iteratorRecord.[[done]] is true, let v be undefined.
+    4. If iteratorRecord.[[done]] is true, let v be undefined.
     [...]
-    8. Return InitializeReferencedBinding(lhs, v).
+    7. Return InitializeReferencedBinding(lhs, v).
 ---*/
 
 //- elems
diff --git a/src/dstr-binding-async-iteration/obj-ptrn-id-get-value-err.case b/src/dstr-binding-async-iteration/obj-ptrn-id-get-value-err.case
index e076d45038..b2362e7ebc 100644
--- a/src/dstr-binding-async-iteration/obj-ptrn-id-get-value-err.case
+++ b/src/dstr-binding-async-iteration/obj-ptrn-id-get-value-err.case
@@ -6,7 +6,7 @@ desc: Error thrown when accessing the corresponding property of the value object
 info: |
     13.3.3.7 Runtime Semantics: KeyedBindingInitialization
 
-    SingleNameBinding : BindingIdentifier Initializeropt
+    SingleNameBinding : BindingIdentifier Initializer_opt
 
     [...]
     4. Let v be GetV(value, propertyName).
diff --git a/src/dstr-binding-async-iteration/obj-ptrn-id-init-fn-name-arrow.case b/src/dstr-binding-async-iteration/obj-ptrn-id-init-fn-name-arrow.case
index fa6f8c4421..998eff71da 100644
--- a/src/dstr-binding-async-iteration/obj-ptrn-id-init-fn-name-arrow.case
+++ b/src/dstr-binding-async-iteration/obj-ptrn-id-init-fn-name-arrow.case
@@ -6,7 +6,7 @@ template: default
 info: |
     13.3.3.7 Runtime Semantics: KeyedBindingInitialization
 
-    SingleNameBinding : BindingIdentifier Initializeropt
+    SingleNameBinding : BindingIdentifier Initializer_opt
 
     [...]
     6. If Initializer is present and v is undefined, then
diff --git a/src/dstr-binding-async-iteration/obj-ptrn-id-init-fn-name-class.case b/src/dstr-binding-async-iteration/obj-ptrn-id-init-fn-name-class.case
index 78195dbc59..32efdf247a 100644
--- a/src/dstr-binding-async-iteration/obj-ptrn-id-init-fn-name-class.case
+++ b/src/dstr-binding-async-iteration/obj-ptrn-id-init-fn-name-class.case
@@ -6,7 +6,7 @@ template: default
 info: |
     13.3.3.7 Runtime Semantics: KeyedBindingInitialization
 
-    SingleNameBinding : BindingIdentifier Initializeropt
+    SingleNameBinding : BindingIdentifier Initializer_opt
 
     [...]
     6. If Initializer is present and v is undefined, then
diff --git a/src/dstr-binding-async-iteration/obj-ptrn-id-init-fn-name-cover.case b/src/dstr-binding-async-iteration/obj-ptrn-id-init-fn-name-cover.case
index 80fc16a634..2196172896 100644
--- a/src/dstr-binding-async-iteration/obj-ptrn-id-init-fn-name-cover.case
+++ b/src/dstr-binding-async-iteration/obj-ptrn-id-init-fn-name-cover.case
@@ -6,7 +6,7 @@ template: default
 info: |
     13.3.3.7 Runtime Semantics: KeyedBindingInitialization
 
-    SingleNameBinding : BindingIdentifier Initializeropt
+    SingleNameBinding : BindingIdentifier Initializer_opt
 
     [...]
     6. If Initializer is present and v is undefined, then
diff --git a/src/dstr-binding-async-iteration/obj-ptrn-id-init-fn-name-fn.case b/src/dstr-binding-async-iteration/obj-ptrn-id-init-fn-name-fn.case
index 7bdb04eb4c..a2a99b4383 100644
--- a/src/dstr-binding-async-iteration/obj-ptrn-id-init-fn-name-fn.case
+++ b/src/dstr-binding-async-iteration/obj-ptrn-id-init-fn-name-fn.case
@@ -6,7 +6,7 @@ template: default
 info: |
     13.3.3.7 Runtime Semantics: KeyedBindingInitialization
 
-    SingleNameBinding : BindingIdentifier Initializeropt
+    SingleNameBinding : BindingIdentifier Initializer_opt
 
     [...]
     6. If Initializer is present and v is undefined, then
diff --git a/src/dstr-binding-async-iteration/obj-ptrn-id-init-fn-name-gen.case b/src/dstr-binding-async-iteration/obj-ptrn-id-init-fn-name-gen.case
index 0faa807d89..3eb8bcd5d5 100644
--- a/src/dstr-binding-async-iteration/obj-ptrn-id-init-fn-name-gen.case
+++ b/src/dstr-binding-async-iteration/obj-ptrn-id-init-fn-name-gen.case
@@ -6,7 +6,7 @@ template: default
 info: |
     13.3.3.7 Runtime Semantics: KeyedBindingInitialization
 
-    SingleNameBinding : BindingIdentifier Initializeropt
+    SingleNameBinding : BindingIdentifier Initializer_opt
 
     [...]
     6. If Initializer is present and v is undefined, then
diff --git a/src/dstr-binding-async-iteration/obj-ptrn-id-init-skipped.case b/src/dstr-binding-async-iteration/obj-ptrn-id-init-skipped.case
index 841a67957b..8d666d5083 100644
--- a/src/dstr-binding-async-iteration/obj-ptrn-id-init-skipped.case
+++ b/src/dstr-binding-async-iteration/obj-ptrn-id-init-skipped.case
@@ -6,7 +6,7 @@ template: default
 info: |
     13.3.3.7 Runtime Semantics: KeyedBindingInitialization
 
-    SingleNameBinding : BindingIdentifier Initializeropt
+    SingleNameBinding : BindingIdentifier Initializer_opt
 
     [...]
     6. If Initializer is present and v is undefined, then
diff --git a/src/dstr-binding-async-iteration/obj-ptrn-id-init-throws.case b/src/dstr-binding-async-iteration/obj-ptrn-id-init-throws.case
index 404b219ed4..411983d824 100644
--- a/src/dstr-binding-async-iteration/obj-ptrn-id-init-throws.case
+++ b/src/dstr-binding-async-iteration/obj-ptrn-id-init-throws.case
@@ -6,7 +6,7 @@ desc: Error thrown when evaluating the initializer
 info: |
     13.3.3.7 Runtime Semantics: KeyedBindingInitialization
 
-    SingleNameBinding : BindingIdentifier Initializeropt
+    SingleNameBinding : BindingIdentifier Initializer_opt
 
     [...]
     6. If Initializer is present and v is undefined, then
diff --git a/src/dstr-binding-async-iteration/obj-ptrn-id-init-unresolvable.case b/src/dstr-binding-async-iteration/obj-ptrn-id-init-unresolvable.case
index c7240ada5a..9e00a4aad2 100644
--- a/src/dstr-binding-async-iteration/obj-ptrn-id-init-unresolvable.case
+++ b/src/dstr-binding-async-iteration/obj-ptrn-id-init-unresolvable.case
@@ -6,15 +6,14 @@ template: error
 info: |
     13.3.3.7 Runtime Semantics: KeyedBindingInitialization
 
-    SingleNameBinding : BindingIdentifier Initializeropt
+    SingleNameBinding : BindingIdentifier Initializer_opt
 
     [...]
-    6. If Initializer is present and v is undefined, then
+    5. If Initializer is present and v is undefined, then
        a. Let defaultValue be the result of evaluating Initializer.
-       b. Let v be GetValue(defaultValue).
-       c. ReturnIfAbrupt(v).
+       b. Set v to ? GetValue(defaultValue).
 
-    6.2.3.1 GetValue (V)
+    6.2.4.1 GetValue ( V )
 
     1. ReturnIfAbrupt(V).
     2. If Type(V) is not Reference, return V.
diff --git a/src/dstr-binding-async-iteration/obj-ptrn-prop-ary-init.case b/src/dstr-binding-async-iteration/obj-ptrn-prop-ary-init.case
index 0f002e6c30..d5cded54a8 100644
--- a/src/dstr-binding-async-iteration/obj-ptrn-prop-ary-init.case
+++ b/src/dstr-binding-async-iteration/obj-ptrn-prop-ary-init.case
@@ -7,10 +7,9 @@ info: |
     13.3.3.7 Runtime Semantics: KeyedBindingInitialization
 
     [...]
-    3. If Initializer is present and v is undefined, then
+    4. If Initializer is present and v is undefined, then
        a. Let defaultValue be the result of evaluating Initializer.
-       b. Let v be GetValue(defaultValue).
-       c. ReturnIfAbrupt(v).
+       b. Set v to ? GetValue(defaultValue).
     4. Return the result of performing BindingInitialization for BindingPattern
        passing v and environment as arguments.
 ---*/
diff --git a/src/dstr-binding-async-iteration/obj-ptrn-prop-id-get-value-err.case b/src/dstr-binding-async-iteration/obj-ptrn-prop-id-get-value-err.case
index d54512d111..5b6c9d14d6 100644
--- a/src/dstr-binding-async-iteration/obj-ptrn-prop-id-get-value-err.case
+++ b/src/dstr-binding-async-iteration/obj-ptrn-prop-id-get-value-err.case
@@ -6,7 +6,7 @@ template: error
 info: |
     13.3.3.7 Runtime Semantics: KeyedBindingInitialization
 
-    BindingElement : BindingPattern Initializeropt
+    BindingElement : BindingPattern Initializer_opt
 
     1. Let v be GetV(value, propertyName).
     2. ReturnIfAbrupt(v).
diff --git a/src/dstr-binding-async-iteration/obj-ptrn-prop-id-init-skipped.case b/src/dstr-binding-async-iteration/obj-ptrn-prop-id-init-skipped.case
index 35d96b5fa5..ad6d039b17 100644
--- a/src/dstr-binding-async-iteration/obj-ptrn-prop-id-init-skipped.case
+++ b/src/dstr-binding-async-iteration/obj-ptrn-prop-id-init-skipped.case
@@ -6,7 +6,7 @@ template: default
 info: |
     13.3.3.7 Runtime Semantics: KeyedBindingInitialization
 
-    BindingElement : BindingPattern Initializeropt
+    BindingElement : BindingPattern Initializer_opt
 
     [...]
     3. If Initializer is present and v is undefined, then
diff --git a/src/dstr-binding-async-iteration/obj-ptrn-prop-id-init-throws.case b/src/dstr-binding-async-iteration/obj-ptrn-prop-id-init-throws.case
index 7ae3799c50..07d185806f 100644
--- a/src/dstr-binding-async-iteration/obj-ptrn-prop-id-init-throws.case
+++ b/src/dstr-binding-async-iteration/obj-ptrn-prop-id-init-throws.case
@@ -6,13 +6,12 @@ desc: Error thrown when evaluating the initializer
 info: |
     13.3.3.7 Runtime Semantics: KeyedBindingInitialization
 
-    BindingElement : BindingPattern Initializeropt
+    BindingElement : BindingPattern Initializer_opt
 
     [...]
-    3. If Initializer is present and v is undefined, then
+    4. If Initializer is present and v is undefined, then
        a. Let defaultValue be the result of evaluating Initializer.
-       b. Let v be GetValue(defaultValue).
-       c. ReturnIfAbrupt(v).
+       b. Set v to ? GetValue(defaultValue).
 ---*/
 
 //- setup
diff --git a/src/dstr-binding-async-iteration/obj-ptrn-prop-id-init-unresolvable.case b/src/dstr-binding-async-iteration/obj-ptrn-prop-id-init-unresolvable.case
index 0733b66875..d7192fad3a 100644
--- a/src/dstr-binding-async-iteration/obj-ptrn-prop-id-init-unresolvable.case
+++ b/src/dstr-binding-async-iteration/obj-ptrn-prop-id-init-unresolvable.case
@@ -6,15 +6,14 @@ template: error
 info: |
     13.3.3.7 Runtime Semantics: KeyedBindingInitialization
 
-    BindingElement : BindingPattern Initializeropt
+    BindingElement : BindingPattern Initializer_opt
 
     [...]
-    3. If Initializer is present and v is undefined, then
+    4. If Initializer is present and v is undefined, then
        a. Let defaultValue be the result of evaluating Initializer.
-       b. Let v be GetValue(defaultValue).
-       c. ReturnIfAbrupt(v).
+       b. Set v to ? GetValue(defaultValue).
 
-    6.2.3.1 GetValue (V)
+    6.2.4.1 GetValue ( V )
 
     1. ReturnIfAbrupt(V).
     2. If Type(V) is not Reference, return V.
diff --git a/src/dstr-binding-async-iteration/obj-ptrn-prop-id-init.case b/src/dstr-binding-async-iteration/obj-ptrn-prop-id-init.case
index 52dfc6b2b2..4ec47bb8e9 100644
--- a/src/dstr-binding-async-iteration/obj-ptrn-prop-id-init.case
+++ b/src/dstr-binding-async-iteration/obj-ptrn-prop-id-init.case
@@ -6,10 +6,10 @@ desc: Binding as specified via property name, identifier, and initializer
 info: |
     13.3.3.7 Runtime Semantics: KeyedBindingInitialization
 
-    SingleNameBinding : BindingIdentifier Initializeropt
+    SingleNameBinding : BindingIdentifier Initializer_opt
 
     [...]
-    8. Return InitializeReferencedBinding(lhs, v).
+    7. Return InitializeReferencedBinding(lhs, v).
 ---*/
 
 //- elems
diff --git a/src/dstr-binding-async-iteration/obj-ptrn-prop-id.case b/src/dstr-binding-async-iteration/obj-ptrn-prop-id.case
index 3b9c894afb..6ddeaba2bf 100644
--- a/src/dstr-binding-async-iteration/obj-ptrn-prop-id.case
+++ b/src/dstr-binding-async-iteration/obj-ptrn-prop-id.case
@@ -6,10 +6,10 @@ desc: Binding as specified via property name and identifier
 info: |
     13.3.3.7 Runtime Semantics: KeyedBindingInitialization
 
-    SingleNameBinding : BindingIdentifier Initializeropt
+    SingleNameBinding : BindingIdentifier Initializer_opt
 
     [...]
-    8. Return InitializeReferencedBinding(lhs, v).
+    7. Return InitializeReferencedBinding(lhs, v).
 ---*/
 
 //- elems
diff --git a/src/dstr-binding-async-iteration/obj-ptrn-prop-obj-init.case b/src/dstr-binding-async-iteration/obj-ptrn-prop-obj-init.case
index 9766387ce5..6132854fbe 100644
--- a/src/dstr-binding-async-iteration/obj-ptrn-prop-obj-init.case
+++ b/src/dstr-binding-async-iteration/obj-ptrn-prop-obj-init.case
@@ -7,10 +7,9 @@ info: |
     13.3.3.7 Runtime Semantics: KeyedBindingInitialization
 
     [...]
-    3. If Initializer is present and v is undefined, then
+    4. If Initializer is present and v is undefined, then
        a. Let defaultValue be the result of evaluating Initializer.
-       b. Let v be GetValue(defaultValue).
-       c. ReturnIfAbrupt(v).
+       b. Set v to ? GetValue(defaultValue).
     4. Return the result of performing BindingInitialization for BindingPattern
        passing v and environment as arguments.
 ---*/
-- 
GitLab