This is necessary because we need to allow the test guarantee against a rare condition: where a third-party thread steals a value between the validity checks can_{send,recv} and the channel operation try_{send,recv}.
Atomic_RW_Mutex