Index: doc/theses/andrew_beach_MMath/features.tex
===================================================================
--- doc/theses/andrew_beach_MMath/features.tex	(revision e37db1126547930596a2d9038d06448d37ac2b6f)
+++ doc/theses/andrew_beach_MMath/features.tex	(revision cd03b76d2be3680d03e99bc17ed4afd74cb2e0b3)
@@ -162,4 +162,7 @@
 type a child of that type and part of the same tree. The parent may itself
 be a child or a root type and may have any number of existing children.
+
+% OK, for some reason the b and t positioning options are reversed here.
+\begin{minipage}[b]{0.6\textwidth}
 \begin{cfa}
 trait child_a(T) virtual(root_type) {}
@@ -167,5 +170,10 @@
 trait child_b(T) virtual(root_type) {}
 \end{cfa}
-\todo{Update the diagram in vtable.fig to show the new type tree.}
+\end{minipage}
+\begin{minipage}{0.4\textwidth}
+\begin{center}
+\input{virtual-tree}
+\end{center}
+\end{minipage}
 
 Every virtual type also has a list of virtual members and a unique id,
@@ -499,5 +507,5 @@
 throwResume EXPRESSION;
 \end{cfa}
-\todo{Decide on a final set of keywords and use them everywhere.}
+% The new keywords are currently ``experimental" and not used in this work.
 It works much the same way as the termination raise, except the
 type must satisfy the \snake{is_resumption_exception} that uses the
@@ -544,6 +552,6 @@
 and run, its try block (the guarded statements) and every try statement
 searched before it are still on the stack. There presence can lead to
-the recursive resumption problem.
-\todo{Is there a citation for the recursive resumption problem?}
+the recursive resumption problem.\cite{Buhr00a}
+% Other possible citation is MacLaren77, but the form is different.
 
 The recursive resumption problem is any situation where a resumption handler
Index: doc/theses/andrew_beach_MMath/implement.tex
===================================================================
--- doc/theses/andrew_beach_MMath/implement.tex	(revision e37db1126547930596a2d9038d06448d37ac2b6f)
+++ doc/theses/andrew_beach_MMath/implement.tex	(revision cd03b76d2be3680d03e99bc17ed4afd74cb2e0b3)
@@ -99,5 +99,5 @@
 
 Type information is constructed as follows:
-\begin{enumerate}
+\begin{enumerate}[nosep]
 \item
 Use the type's name to generate a name for the type information structure,
@@ -123,5 +123,4 @@
 including different instances of the same polymorphic type.
 \end{enumerate}
-\todo{The list is making me realize, some of this isn't ordered.}
 
 Writing that code manually, with helper macros for the early name mangling,
@@ -176,6 +175,5 @@
 below.
 
-The layout always comes in three parts.
-\todo{Add labels to the virtual table layout figure.}
+The layout always comes in three parts (see \autoref{f:VirtualTableLayout}).
 The first section is just the type id at the head of the table. It is always
 there to ensure that it can be found even when the accessing code does not
@@ -190,8 +188,9 @@
 
 \begin{figure}
+\begin{center}
 \input{vtable-layout}
+\end{center}
 \caption{Virtual Table Layout}
 \label{f:VirtualTableLayout}
-\todo*{Improve the Virtual Table Layout diagram.}
 \end{figure}
 
@@ -797,5 +796,4 @@
 \autoref{f:TerminationTransformation} shows the pattern used to transform
 a \CFA try statement with catch clauses into the appropriate C functions.
-\todo{Explain the Termination Transformation figure.}
 
 \begin{figure}
@@ -855,5 +853,4 @@
 \caption{Termination Transformation}
 \label{f:TerminationTransformation}
-\todo*{Improve (compress?) Termination Transformations.}
 \end{figure}
 
@@ -894,6 +891,6 @@
 
 \autoref{f:ResumptionTransformation} shows the pattern used to transform
-a \CFA try statement with catch clauses into the appropriate C functions.
-\todo{Explain the Resumption Transformation figure.}
+a \CFA try statement with catchResume clauses into the appropriate
+C functions.
 
 \begin{figure}
@@ -936,5 +933,4 @@
 \caption{Resumption Transformation}
 \label{f:ResumptionTransformation}
-\todo*{Improve (compress?) Resumption Transformations.}
 \end{figure}
 
Index: doc/theses/andrew_beach_MMath/performance.tex
===================================================================
--- doc/theses/andrew_beach_MMath/performance.tex	(revision e37db1126547930596a2d9038d06448d37ac2b6f)
+++ doc/theses/andrew_beach_MMath/performance.tex	(revision cd03b76d2be3680d03e99bc17ed4afd74cb2e0b3)
@@ -74,10 +74,9 @@
 three results are discarded and the remaining five values are averaged.
 The test are run with the latest (still pre-release) \CFA compiler,
-using gcc-10 as a backend.
-g++-10 is used for \Cpp.
+using gcc-10 10.3.0 as a backend.
+g++-10 10.3.0 is used for \Cpp.
 Java tests are complied and run with version 11.0.11.
-Python used version 3.8.
+Python used version 3.8.10.
 The machines used to run the tests are:
-\todo{Get patch versions for python, gcc and g++.}
 \begin{itemize}[nosep]
 \item ARM 2280 Kunpeng 920 48-core 2$\times$socket
@@ -312,5 +311,5 @@
 For example, there are a few cases where Python out-performs
 \CFA, \Cpp and Java.
-\todo{Make sure there are still cases where Python wins.}
+% To be exact, the Match All and Match None cases.
 The most likely explanation is that, since exceptions
 are rarely considered to be the common case, the more optimized languages
Index: doc/theses/andrew_beach_MMath/virtual-tree.fig
===================================================================
--- doc/theses/andrew_beach_MMath/virtual-tree.fig	(revision cd03b76d2be3680d03e99bc17ed4afd74cb2e0b3)
+++ doc/theses/andrew_beach_MMath/virtual-tree.fig	(revision cd03b76d2be3680d03e99bc17ed4afd74cb2e0b3)
@@ -0,0 +1,23 @@
+#FIG 3.2  Produced by xfig version 3.2.7b
+Landscape
+Center
+Metric
+A4
+100.00
+Single
+-2
+1200 2
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 2070 1395 2520 1665
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 2070 1395 1530 1665
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 1530 1845 1530 2160
+4 0 0 50 -1 0 12 0.0000 4 165 900 1035 2295 grandchild\001
+4 1 0 50 -1 5 12 0.0000 2 150 720 1485 1800 child\\_a\001
+4 1 0 50 -1 5 12 0.0000 2 150 720 2520 1800 child\\_b\001
+4 1 0 50 -1 5 12 0.0000 2 165 900 2070 1350 root\\_type\001
+4 1 0 50 -1 0 12 0.0000 2 165 1530 2115 1080 Virtual Type Tree\001
Index: doc/theses/andrew_beach_MMath/vtable-layout.fig
===================================================================
--- doc/theses/andrew_beach_MMath/vtable-layout.fig	(revision e37db1126547930596a2d9038d06448d37ac2b6f)
+++ doc/theses/andrew_beach_MMath/vtable-layout.fig	(revision cd03b76d2be3680d03e99bc17ed4afd74cb2e0b3)
@@ -8,6 +8,4 @@
 -2
 1200 2
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 1
-	 1620 1665
 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
 	 3510 1890 3645 1755
@@ -16,4 +14,10 @@
 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
 	 3645 1305 3645 1755
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 2115 1935 2250 1935
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 4
+	 2250 1170 2115 1170 2115 2475 2250 2475
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 2250 1350 2115 1350
 4 0 0 50 -1 0 12 0.0000 4 165 630 2295 1305 type_id\001
 4 0 0 50 -1 0 12 0.0000 4 165 1170 2295 1500 parent_field0\001
Index: doc/theses/andrew_beach_MMath/vtable.fig
===================================================================
--- doc/theses/andrew_beach_MMath/vtable.fig	(revision e37db1126547930596a2d9038d06448d37ac2b6f)
+++ 	(revision )
@@ -1,42 +1,0 @@
-#FIG 3.2  Produced by xfig version 3.2.7b
-Landscape
-Center
-Metric
-A4
-100.00
-Single
--2
-1200 2
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 45.00 90.00
-	 1260 1350 1485 1665
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 45.00 90.00
-	 1260 1350 1035 1665
-2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
-	1 1 1.00 45.00 90.00
-	 1263 1346 1578 1571
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 45.00 90.00
-	 2520 1350 2520 1665
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 45.00 90.00
-	 2520 1800 2520 2115
-2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
-	1 1 1.00 45.00 90.00
-	 2520 1350 2835 1575
-2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
-	1 1 1.00 45.00 90.00
-	 2517 1804 2832 2029
-4 1 0 50 -1 5 12 0.0000 2 120 240 1035 1800 V1\001
-4 1 0 50 -1 5 12 0.0000 2 120 240 1485 1800 V2\001
-4 1 0 50 -1 5 12 0.0000 2 120 240 1260 1350 V0\001
-4 0 0 50 -1 0 12 0.0000 2 135 420 1620 1665 vtable\001
-4 1 0 50 -1 5 12 0.0000 2 120 240 2520 1350 W0\001
-4 1 0 50 -1 5 12 0.0000 2 120 240 2520 2250 W2\001
-4 1 0 50 -1 5 12 0.0000 2 120 240 2520 1800 W1\001
-4 0 0 50 -1 0 12 0.0000 2 135 420 2880 1620 vtable\001
-4 0 0 50 -1 0 12 0.0000 2 135 420 2880 2070 vtable\001
-4 1 0 50 -1 0 12 0.0000 2 180 1365 1935 1080 virtual type trees\001
-4 0 0 50 -1 5 12 0.0000 2 150 735 3060 1755 Id; <,+\001
-4 0 0 50 -1 5 12 0.0000 2 150 1155 3060 2250 Id; <,+,w,-\001
