pub fn try_unfold<T, E, St, F>(init: St, f: F) -> TryUnfold<T, E, St, F> ⓘwhere F: FnMut(&mut St) -> Result<Option<T>, E>,