I'm more for partial object type than immutable one because of flexibility it may give (fetching only part of big document, updating few fields and saving changes). However there are few things I think we should be aware of:

* ``UoW`` should remember which fields were fetched for partial type and update only them to not screw original data as @jwage pointed out
* what if dev has full and partial document and changes some fields in both of them? Should they be connected somehow?

BTW initially there was ``$this->assertNull($doc->a);`` line above but it was removed due to existing behavior :)