Phase 2 — Why concurrency is hard