The reason for this is the following. MultiFields behave very similar to dictionaries except for the fact that dictionaries are mutable and MultiFields are immutable. Therefore, MultiField.update() needs to return a new object. That is different to the dictionary.update() functionality and therefore unintuitive. MultiField.union() can do the exact same thing as update() used to do.