As bjz points out, my background is from CML, so my experience has biased me a bit towards synchronous send for same machine/process programming models and async for distributed models. But I tried to give them both a fair shake in the context of, "What implementation strategy makes Servo fast and reliable?"