More complex guard conditions Consider a banking application that allows multiple clients to deposit and withdraw funds from shared accounts Goals: Protect against data races, so that money is not accidentally created or destroyed Prevent overdrafts by making withdraw requests block if account has insufficient funds Question: How should we model the behavior of an account object?
{}