\begin{diagram}{Record types}{recordtypes}
\begin{mysyntdiag}
\synt{record\ type} \[ \lit*{packed} \] \lit*{record}
\[ \synt{field\ list} \] \lit*{end}
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{field\ list} 
\( 
\synt{fixed\ fields} \\
\[ \synt{fixed\ fields} \lit*; \]  \synt{variant\ part}
\)
\[ \lit*; \]
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{fixed\ fields} 
\<[b] \synt{identifier\ list} \lit*: \synt{type} \\ \lit*; \>
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{variant\ part} 
\lit*{case}
\[ \synt{identifier} \lit*: \] 
\synt{ordinal\ type\ identifier} 
\lit*{of} \<[b] \synt{variant} \\ \lit*; \>
\end{mysyntdiag}
\begin{mysyntdiag}
\synt{variant} \<[b] \synt{constant} \lit*, \> 
\lit*: \lit*( \[ \synt{field\ list} \] \lit*)
\end{mysyntdiag}
\end{diagram}
