Consistency keeps observed state and operation outcomes coherent with system rules. Assigning one to-do list to one server process eliminates races and keeps updates serialized. Process calls strengthen consistency because the caller receives a response, while casts favor responsiveness but provide no delivery or outcome guarantee. section 7.4
Calls versus casts
Use a call when the client needs confirmation or when synchronization matters. Use a cast when nonblocking responsiveness matters more and the caller can tolerate uncertainty about whether the request arrived or succeeded. Calls can also apply back pressure by preventing a client from producing work faster than the server handles it. section 7.4
a_tuple = {a, b, c}
new_tuple = put_elem(a_tuple, 1, b2)
Immutable updates preserve prior data versions, supporting atomic in-memory transformations and consistent intermediate state. section 2.4.5



















