1. With Python's short-circuit eval, isn't the existing code already doing this? Looks to me like we just need to move the ``if`` block starting on L257/252 into the ``catch_warnings`` context manager. The problem isn't that we're failing to check whether the enum attr is iterable, but that we're doing (for example) ``Food.COFFEE in (SocialNetwork.FACEBOOK, SocialNetwork.TWITTER)``.

2. Where did this block even come from? Regardless of implementation, this seems like a bad idea, since RichEnum members aren't explicitly ordered. (I still don't like it for OrderedRichEnums, but it's less problematic.)

```python
class Breakfast(RichEnum):
  QUICK = _Breakfast('quick', _('Quick'), dishes=(Foods.COFFEE, Foods.TOAST))
  SLOW = _Breakfast('slow', _('Slow'), dishes=(Foods.COFFEE, Foods.BACON, Foods.WAFFLES))

# What's the expected output of this?
Breakfast.lookup('dishes', Foods.COFFEE)
```
*Both* quick and slow breakfasts include coffee, and there's no clear precedence between them. I realize that this isn't something we can just change right away, but it seems like it's eventually going to bite us.