Re: @bendiy 's note about the rule's contact, I think  `... returning new.*` would address the semantic concerns raised earlier. In addition the returned values would reflect what was actually inserted/updated instead of just `NULL`s and the rules would be easier to maintain over time.