Remember: the notion of idempotence here is that each idempotent operation (like obj.count = 2) could be repeated multiple times and not change the program operation beyond the first update. The non-idempotent operations change the state each time.
I found the "program operation" is a little bit confusing, maybe "program state" is better.
Ch5, line 398:
I found the "program operation" is a little bit confusing, maybe "program state" is better.