I'd have this constructor take the children as optional argument:
```
def __init__(self, children=None):
    self.children = children or []
```