I think it would be a great addition to also provide `Sink` and `Stream` implementations for `Duplex`. ```rust impl<T, R: Stream<T>, W> Stream<T> for Duplex<R, W> {} impl<T, R, W: Sink<T>> Sink<T> for Duplex<R, W> {} ``` I’d be happy to provide a PR.