So the whole confusion with upserting, upsert directive, and upsert procedure can be a little confusing to a new user. I made a library called quirk that I think can be of use to people who need simple upsert functionality. Maybe this could be a possible addition to the dgo library.