fn left_sink<Si2>(self) -> Either<Self, Si2>
    where
        Si2: Sink<Item, Error = Self::Error>,
        Self: Sized,
    {
        assert_sink::<Item, Self::Error, _>(Either::Left(self))
    }
Wrap this sink in an `Either` sink, making it the left-hand variant
of that `Either`.

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