visitor: queue synthetic root first