Nope, only the merge function has to be idempotent. I'm happy to explain why delivery of updates isn't idempotent in a higher-bandwidth medium.