Every object is a \emph{direct instance} of exactly one \emph{class}. The
class determines which slots its instances have, which messages its instances
-can be sent, and which methods are invoked when those messages are received.
-The Sod translator's main job is to read class definitions and convert them
-into appropriate C declarations, tables, and functions. An object cannot
-(usually) change its direct class, and the direct class of an object is not
-affected by, for example, the static type of a pointer to it.
+can be sent, and which \emph{methods} are invoked when those messages are
+received. The Sod translator's main job is to read class definitions and
+convert them into appropriate C declarations, tables, and functions. An
+object cannot (usually) change its direct class, and the direct class of an
+object is not affected by, for example, the static type of a pointer to it.
If an object~$x$ is a direct instance of some class~$C$, then we say that $C$
is \emph{the class of}~$x$. Note that the class of an object is a property
\end{enumerate}
Perhaps surprisingly, keyword arguments have a relatively small performance
-impact. On the author's aging laptop, a call to a simple function, passing
+impact. On the author's ageing laptop, a call to a simple function, passing
two out of three keyword arguments, takes about 30 cycles longer than calling
a standard function which just takes integer arguments. On the other hand,
quite a lot of code is involved in decoding keyword arguments, so code size
initializers, \emph{and} the sender supplied a value for one or more of the
corresponding effective initargs, then the value of the most specific such
initarg is stored in the slot. (For this purpose, initargs defined earlier
- in a class definition are more specific than initargs defined later.)
+ in a class definition are more specific than initargs defined
+ later.)\footnote{%
+ This is very different from the CLOS behaviour, in which a slot is
+ initialized from the first applicable initarg in the argument list.}
\item Otherwise, if there are any slot initializers defined which include an
initializer expression, then the initializer expression from the most