My preference for updating data across the web is to send only the information that is different, and the service ensures everything else remains the same. Put doesn't quite cut it in this case (technically, it's supposed to completely replace a resource).
Are there any advantages for declaring Patch to be not idempotent? I'm assuming it allows appending to a single resource?