This isn't the right fix, because it doesn't handle things that are recursive at a deeper level, consider:
```
a = []
a << []
a[0] << a
```