\chapter{The runtime library} \label{ch:runtime}
-This chapter describes the runtime support macros and functions defined in
-the @|<sod/sod.h>| header file. The corresponding types are defined in
-\xref{ch:structures}.
+This chapter describes the runtime support macros and functions provided by
+the Sod library. The common structure of object instances and classes is
+described in \xref{ch:structures}.
+
+%%%--------------------------------------------------------------------------
+\section{Object system support} \label{sec:runtime.object}
+
+This section describes the macros and functions exposed in the @|<sod/sod.h>|
+header file which provide assistance for working with Sod classes and
+objects.
The runtime support functionality defined here generally expects that
instances and classes inherit from the standard @|SodObject| root object.
While the translator can (at some effort) support alternative roots, they
will require different run-time support machinery.
-%%%--------------------------------------------------------------------------
-\section{Infrastructure macros} \label{ch:runtime.infra}
+
+\subsection{Infrastructure macros} \label{ch:runtime.object.infra}
+
+The runtime support functionality defined here generally expects that
+instances and classes inherit from the standard @|SodObject| root object.
+While the translator can (at some effort) support alternative roots, they
+will require different run-time support machinery.
These macros are mostly intended for use in code generated by the Sod
translator. Others may find them useful for special effects, but they can be
@|SOD_INSTBASE| macro (described below) is more suited to general use.
\end{describe}
-%%%--------------------------------------------------------------------------
-\section{Utility macros} \label{sec:runtime.utility}
+
+\subsection{Utility macros} \label{sec:runtime.object.utility}
The following macros are expected to be useful in Sod method definitions and
client code.
invalid when control exits the scope of the declaration.
\end{describe}
-%%%--------------------------------------------------------------------------
-\section{Functions} \label{sec:runtime.functions}
+
+\subsection{Functions} \label{sec:runtime.object.functions}
The following functions are provided in @|libsod|.