Hidden slots

Elements and documents have children.

But exposing the child list leads to trouble when users modify it without updating parent slots. Documenting the sequence type prohibits optimizations.

That's why we hide the children:
(defclass parent-node (node)
  (...secret...))

(defgeneric map-children (result-type function node))