Would you consider this as a re-factor option ?
```
        try_quick = False
        call_func = lambda c: c == self._coord_thing
        if not isinstance(self._coord_thing, iris.coords.Cell):
            if callable(self._coord_thing):
                call_func = self._coord_thing
            elif (isinstance(self._coord_thing, collections.Iterable) and
                  not isinstance(self._coord_thing, basestring)):
                call_func = lambda cell: cell in list(self._coord_thing)
            else
                try_quick = isinstance(coord, iris.coords.DimCoord)
```

Kinda reads easier to me. What do you think @esc24 ?