Remove a #define DEBUG_SPR_ALL
Update TODO.
Switch from Vector<int> to Vector<object_ref>
Define types Pair<,>, OVector, and OPair.
Add ::subtype type member for boxing classes.
Add a special printing method for Char.
Make String using POD< >, not Box< >, so print it shows something.
Add a method to get a (,) from an OPair.
Allow setting the Haskell tree from the C++ tree.
Add note.
Express NNI in terms of reconnect_branch( ).
Speed up and simplify setting node branches and branch endpoints.
Create helper function to find edges connecting to node.
Condense some code.
Try to preserve the Haskell tree throughout NNI moves.
Add note.
Add note.
Keep Haskell tree up-to-date in SPR move.

Therefore, it should always be up-to-date!
Replace duplicate code with function call.
Update both directions of an edge that changes in reconnect_branch( ).