Chan now has an internal buffer, so puts don't block