So just to be clear, right now the behavior is to crash. I think it's bad behavior, but skipping `nil` is worse, IMO.

We insert cells into a table view and use `map` somewhere in there. The cell generation code guarded itself and returned `nil` on some condition. But the cell count is determined by the number of items we have available, and this has to match the number of cells being inserted. So,

* If `map` were to do nothing, we'd get a crash inside map, right when it happens (good).
* If `map` ignored `nil`, we'd get a very hard to debug crash where the number of cells inserted and returned is different
* If `map` were to return NSNull, we'd get a clear exception that what we're trying to insert into the table is not a dictionary. We would think about it and either `compact` that or fix the cell code to always return a cell. 

I think I prefer the latter.