The comments about the SuperClasses list in the Record class says that the list is in reverse pre-order. Unless I've gone mad, the list is actually in post-order. Traversing it backward produces reverse pre-order. I fixed the comments.
Details
Details
Diff Detail
Diff Detail