pub fn oneshot<T, E>( f: impl FnOnce(&mut Input<'_>) -> Result<T, E>) -> impl TryFuture<Ok = T, Error = E>where E: Into<Error>,