I was a bit disappointed that you couldn't set up a function to update "map" objects when the collection it was generated from is updated or added to.
That sounds interesting, but it makes me wonder: what happens when an updated object is mapped again, as you describe? An update means that a previously mapped entry is deleted, so you should unreduce (inflate?) the previous map operation (which in many cases is not possible).
How are these things handled in Couch ?