As well as defining slot names and types, a class can also associate an
\emph{initial value} with each slot defined by itself or one of its
superclasses. A class $C$ provides an \emph{initialization message} (see
-\xref{sec:concepts.lifecycle.birth}, and
-\xref{sec:structures.root.sodobject}) whose methods set the slots of a
+\xref[\instead{sections}]{sec:concepts.lifecycle.birth}, and
+\ref{sec:structures.root.sodobject}) whose methods set the slots of a
\emph{direct} instance of the class to the correct initial values. If
several of $C$'s superclasses define initializers for the same slot then the
initializer from the most specific such class is used. If none of $C$'s
flexible and it's possible for an extension to define a new root class which
works very differently from the standard @|SodObject| described here.
-The concrete types described in \xref{sec:structures.common} and
+The concrete types described in
+\xref[\instead{sections}]{sec:structures.common} and
\ref{sec:structures.root} are declared by the header file @|<sod/sod.h>|.
The definitions described in \xref{sec:structures.layout} are defined in the
header file generated by the containing module.