anchor.diff:  (defclass text-node (child-node)
     ((%text :initarg :text :initform "" :accessor text :type string))
     (:documentation "Text node that can only contain a single text string."))
  +(setf (documentation 'text 'function) "Returns the node's textual content.")
   
   (defclass comment (child-node)
     ((%text :initarg :text :initform "" :accessor text :type string))
  
positive.code: (defclass doctype (child-node)
    ((%doctype :initarg :doctype :initform (error "Doctype declaration required.") :accessor doctype :type string))
    (:documentation "Special DOM node for the doctype declaration."))
  
  (defmethod print-object ((node doctype) stream)
    (print-unreadable-object (node stream :type T)
  
negative.code: (defclass nesting-node (node)
    ((%children :initarg :children :initform (make-child-array) :accessor children :type vector))
    (:documentation "Node class that can contain child nodes."))
  (setf (documentation 'children 'function) "Returns a vector of child-nodes that are contained within the node.")
  
  (defclass child-node (node)
    ((%parent :initarg :parent :initform (error "Parent required.") :accessor parent :type (or null node)))
    (:documentation "Node class that is a child and thus has a parent."))
  (setf (documentation 'parent 'function) "Returns the node's parent that should contain this element as a child.")
  
  (defclass root (nesting-node)
    ()
  