Add empty/any patches.  Generalize.

I think the `empty` and `any` patches are fairly generic and often used.  I also generalized the `Show` view a bit for reuse.