How do object-oriented programming and functional programming compare to idempotency?