# Python3, 136 bytes:
```py
import re
f=lambda x:x.translate(str.maketrans({'{':'[','}':']','[':'',']':''}))if x==(x:=re.sub('\[([\w\{\}]+)*\]','{\\1}',x))else f(x)
```
[Try it online!](https://tio.run/##VY7BTsMwEETP@CtWudhuAwJxQZHMJ/QH1ntIWpu6dezIMcKl9NtD0gISp53VG83McMr7GJ5fhjRNNsUekgHXDzHlFbPKt323a6E043snuMYvTbzmvC7SWShKidKoHyRQf@izvtBarq6us9ZPl8UqjR8NWFHkNIKCqqqw7bZw/wrzYYi0SCTWYsETfaKhI17p38uo7XC7M5bobY/ugEffU4hEt5Ab@kfmEmZjAgcugHU@myQ2MZgaxodx8C7PkwOXsmF3Q3IhCyvcL1hCucRHknL6Bg)