fn right_sink<Si1>(self) -> Either<Si1, Self>
    where
        Si1: Sink<Item, Error = Self::Error>,
        Self: Sized,
    {
        assert_sink::<Item, Self::Error, _>(Either::Right(self))
    }
Wrap this stream in an `Either` stream, making it the right-hand variant
of that `Either`.

This can be used in combination with the `left_sink` method to write `if`
statements that evaluate to different streams in different branches.
futures-util/src/sink/mod.rs