[FIX] only descend to children when necessary
[IMP] improve readability
[MERGE] res.partner: skip recursive sync of `commercial` fields if none of them changed, courtesy of Holger Brunn (Therp)