diff --git a/index.bs b/index.bs
index 4537b352..5c5d8fd8 100644
--- a/index.bs
+++ b/index.bs
@@ -7747,8 +7747,8 @@ values are represented by ECMAScript Object values (including [=function objects
@@ -7756,10 +7756,11 @@ the object (or its prototype chain) correspond to [=dictionary members=].
to an IDL [=dictionary type=] value by
running the following algorithm (where |D| is the [=dictionary type=]):
- 1. If
Type(|esDict|) is not Undefined, Null or Object, then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}.
+ 1. If
Type(|esDict|) is not Undefined, Null, Object or Record, then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}.
1. Let |idlDict| be an empty [=ordered map=], representing a dictionary of type |D|.
1. Let |dictionaries| be a list consisting of |D| and all of |D|'s [=inherited dictionaries=],
in order from least to most derived.
+ 1. Let |obj| be [=?=]
ToObject(|esDict|) if
Type(|esDict|) is not Undefined or Null
1. For each dictionary |dictionary| in |dictionaries|, in order:
1. For each dictionary member |member| declared on |dictionary|, in lexicographical order:
1. Let |key| be the [=identifier=] of |member|.
@@ -7769,7 +7770,7 @@ the object (or its prototype chain) correspond to [=dictionary members=].
: Null
::
undefined
: anything else
- :: [=?=]
Get(|esDict|, |key|)
+ :: [=?=]
Get(|obj|, |key|)
1. If |esMemberValue| is not
undefined, then:
1. Let |idlMemberValue| be the result of [=converted to an IDL value|converting=] |esMemberValue| to an IDL value whose type is the type |member| is declared to be of.
@@ -7783,7 +7784,7 @@ the object (or its prototype chain) correspond to [=dictionary members=].
Note: The order that [=dictionary members=] are looked
-up on the ECMAScript object are not necessarily the same as the object's property enumeration order.
+up on the ECMAScript object or record are not necessarily the same as the object's or record's property enumeration order.
@@ -7914,14 +7915,14 @@ the ECMAScript
null value.
Sequences — sequence<|T|>
IDL
sequence<|T|> values are represented by
-ECMAScript Array values.
+ECMAScript Array or Tuple values.
An ECMAScript value |V| is [=converted to an IDL value|converted=]
to an IDL
sequence<T> value as follows:
- 1. If
Type(|V|) is not Object,
+ 1. If
Type(|V|) is not Object or Tuple,
[=ECMAScript/throw=] a {{ECMAScript/TypeError}}.
1. Let |method| be [=?=]
GetMethod(|V|, {{@@iterator}}).
1. If |method| is
undefined,