[spec] Constrain name section ordering (#1012)

diff --git a/document/core/appendix/custom.rst b/document/core/appendix/custom.rst
index afd2b1a..bea81d6 100644
--- a/document/core/appendix/custom.rst
+++ b/document/core/appendix/custom.rst
@@ -43,7 +43,10 @@
    \production{name section} & \Bnamesec &::=&
      \Bsection_0(\Bnamedata) \\
    \production{name data} & \Bnamedata &::=&
-     n{:}\Bname~~\Bnamesubsection^\ast & (\iff n = \text{name}) \\
+     n{:}\Bname & (\iff n = \text{name}) \\ &&&
+     \Bmodulenamesubsec^? \\ &&&
+     \Bfuncnamesubsec^? \\ &&&
+     \Blocalnamesubsec^? \\
    \production{name subsection} & \Bnamesubsection_N(\B{B}) &::=&
      N{:}\Bbyte~~\X{size}{:}\Bu32~~\B{B}
        & (\iff \X{size} = ||\B{B}||) \\
@@ -59,6 +62,8 @@
  2  :ref:`local names <binary-localnamesec>`
 ==  ===========================================
 
+Each subsection may occur at most once, and in order of increasing id.
+
 
 .. index:: ! name map, index, index space
 .. _binary-indirectnamemap: