From 25632dd92d125b4f88b1cad4a63110787e46b0b2 Mon Sep 17 00:00:00 2001
From: Andreas Rossberg <rossberg@mpi-sws.org>
Date: Wed, 21 Feb 2024 09:51:34 +0100
Subject: [PATCH] Add noexn type to overview (#298)

---
 proposals/exception-handling/Exceptions.md | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/proposals/exception-handling/Exceptions.md b/proposals/exception-handling/Exceptions.md
index 08c484a6..9a2ddfb8 100644
--- a/proposals/exception-handling/Exceptions.md
+++ b/proposals/exception-handling/Exceptions.md
@@ -331,6 +331,18 @@ document](https://github.com/WebAssembly/design/blob/master/BinaryEncoding.md).
 
 The type `exnref` is represented by the type opcode `-0x17`.
 
+When combined with the [GC proposal](https://github.com/WebAssembly/gc/blob/main/proposals/gc/MVP.md),
+there also is a value type `nullexnref` with opcode `-0x0c`.
+Furthermore, these opcodes also function as heap type,
+i.e., `exn` is a new heap type with opcode `-0x17`,
+and `noexn` is a new heap type with opcode `-0x0c`;
+`exnref` and `nullexnref` are shorthands for `(ref null exn)` and `(ref null noexn)`, respectively.
+
+The heap type `noexn` is a subtype of `exn`.
+They are not in a subtype relation with any other type (except bottom),
+such that they form a new disjoint hierarchy of heap types.
+
+
 ##### tag_type
 
 We reserve a bit to denote the exception attribute: