\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}