Why did you create this one despite changeValue? 

Also bad to name this "update" because update has a special meaning in Scala. obj.update(k, v) enables obj(k) = v