Yes, that's actually the general case - just didn't have a cleaner way to do it:

i.e.:

```python
self.df.geometry = [1, 2, 3]
```

List isn't hashable so `col in self` fails with a `TypeError`.  but you could also have tuples and things like that, so I thought it'd be easier to just catch the TypeError and then set.