I don’t find this surprising either. There is no reason for children of ExtNodes to be restricted to ExtNode. An ExtNode is a Node and, so, its children are Nodes which may be but are not required to be ExtNodes.
Node is defined to contains instances of Nodes, not of instance of itself. We would need a special syntax to express `itself`.