use extension_traits::extension; #[extension(pub trait OptionExt)] impl Option { async fn map_async, F: FnOnce(S) -> Fut>(self, f: F) -> Option { match self { Some(s) => Some(f(s).await), None => None, } } }