in gazebo/src/ext/option.rs [72:80]
fn into_try_map<U, E, F: FnOnce(Self::Item) -> Result<U, E>>(
self,
f: F,
) -> Result<Option<U>, E> {
Ok(match self {
None => None,
Some(x) => Some(f(x)?),
})
}