>> I'm reluctant to modify that store() too much. It has too many >> "clever" features already. > > I think doing this would actually make it "dumber", because it would care if > a field was a primary key or not, if it is changed it will update. To create > a new record, .copy() should be called first.
Yes. In software engineering, "dumb" (= very predictable) is often better than "clever"... I explicitly used the term "clever" here (as opposed to "elegant"), which is always a sign of smelly code / design.
