Error type for receievers. If an mpsc error occurs, it will be wrapped
by an appropriate wrapper variant. If receiver is supplied an incorrect type,
a [AnyRecvError::WrongType(Box)] will be returned containing the result
that did not successfully downcast. If buffered receiver is supplied an
incorrect type, a [BufRecvError::WrongType(TypeId)] will be returned and the
result will be stored in a buffer. If BufferedReceiver::recv_buf is called
with an empty buffer, EmptyBuffer will be returned