If we add a synchronous channel it will need to return the message if the queue is full, and it might as well return the message if the channel is closed. Seems useful to be able to retrieve the message in all cases where a send doesn't succeed.
Nominating.