After steps 1a and 2a:
In what order should we perform these steps?
Don't delete the first cell until we have grabbed its next pointer.
The trick is to do all the steps without changing the before diagram - use temporary variables. Then effect changes in any order you like.