This feels needlessly destructive. Could we just do
```python
new_node = dict(node)
new_node.children = []
node_list.append(new_node)
```
?