Dada a classe `TreeNode` em Python abaixo, usada para armazenar nós de uma árvore binária, você pode me ajudar a escrever uma função que retorne uma nova árvore invertida? Isto é, que troque direita por esquerda em todos os nós, sem modificar a árvore original.

```python
@dataclass 
class TreeNode:
   value: int
   left: Optional['TreeNode']
   right: Optional['TreeNode']
```

A função deve ter a seguinte assinatura:

```python
def invertTree(root: Optional[TreeNode]) -> Optional[TreeNode]:
```

Eu não testei se minha definição de `TreeNode` está correta. Por favor corrija quaisquer erros.
spam lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor creativity violence