diff --git a/index.bs b/index.bs
index f39d69e4..2dce955a 100644
--- a/index.bs
+++ b/index.bs
@@ -5730,6 +5730,7 @@ are known as object types.
"async iterable" "<" TypeWithExtendedAttributes ">" Null
"object" Null
"symbol" Null
+ "ModuleNamespace" Null
BufferRelatedType Null
"FrozenArray" "<" TypeWithExtendedAttributes ">" Null
"ObservableArray" "<" TypeWithExtendedAttributes ">" Null
@@ -6043,6 +6044,18 @@ To denote a type that includes all possible object references plus the
null value, use the [=nullable type=]
object?
.
+
ModuleNamespace
+
+The {{ModuleNamespace}} type corresponds to the set of all possible non-null
+references to module namespace exotic objects as defined in the ECMAScript
+specification.
+
+There is no way to represent a constant {{ModuleNamespace}} value in IDL.
+
+To denote a type that includes all possible references to module namespace
+objects plus the null value, use the [=nullable type=]
+ModuleNamespace?
.
+
symbol
The {{symbol}} type corresponds to the set of all possible symbol values. Symbol values are opaque,
@@ -7795,6 +7808,27 @@ values are represented by JavaScript Object values.
+ModuleNamespace
+
+IDL {{ModuleNamespace}} values are represented by JavaScript module namespace exotic objects.
+
+
+ A JavaScript value |V| is [=converted to an IDL value|converted=] to an IDL {{ModuleNamespace}}
+ value by running the following algorithm:
+
+ 1. If |V| [=is not an Object=], or |V| is not a module namespace exotic object,
+ then [=JavaScript/throw=] a {{TypeError}}.
+ 1. Return the IDL {{ModuleNamespace}} value that is a reference
+ to the same object as |V|.
+
+
+
+ The result of [=converted to a JavaScript value|converting=] an IDL {{ModuleNamespace}} value
+ to a JavaScript value is the Object value that represents a reference to the same object that
+ the IDL {{ModuleNamespace}} represents.
+
+
+
symbol
IDL {{symbol}} values are represented by JavaScript Symbol values.