> maybe update should be the workhorse, with add proxied to it instead of update proxied to add

I thought about this. If we can do it cleanly without extra loops I'm all for it.