Super useful diagram that explains all available transformations between Result and Option standard #Rust types and their interactions.
Source: https://docs.google.com/drawings/d/1EOPs0YTONo_FygWbuJGPfikO9Myt5HwtiFUHRuE1JVM/edit
Rust Result/Option Transformations
Result<T, E> Result<U, E> Result<T, F> Option<T> T E Option<E> unwrap, expect, unwrap_or[_else], unwrap_or_default () unwrap_err, expect_err Err(e) Ok(t) Some(t) ok_or[_else] ok err map, and[_then] map_err None or[_else] Option<U> map, and[_then] U map_or [_else] filter, xor, or[_else], replace

