When serialized-exchange executes, it will deadlock on the call to withdraw. serialized-exchange and withdraw cannot run at the same time because they share the same serializer. withdraw cannot run until serialized-exchange finishes, but serialized-exchange cannot finish until withdraw finishes.