To map the Item of a Sink I currently use:
let sink: Sink<Item = OldItemType> = ...;
let mapped_sink: Sink<Item = NewItemType> = pin!(sink.with(|value: NewItemType| async { value.into() }));
Since the closure doesn't need to be async, I'd like to have something like StreamExt::map which takes FnMut instead. This would also make writing pin! obsolete which is necessary because anonymous async closures are !Unpin.