In order to resolve inheritance of items, we define a \emph{class precedence
list} (or CPL) for each class, which imposes a total order on that class's
superclasses. The default algorithm for computing the CPL is the \emph{C3}
-algorithm \cite{fixme-c3}, though extensions may implement other algorithms.
+algorithm \cite{barrett-1996:monot-super-linear-dylan}, though extensions may
+implement other algorithms.
The default algorithm works as follows. Let $C$ be the class whose CPL we
are to compute. Let $X$ and $Y$ be two of $C$'s superclasses.