Turn Option<Result<O, E>> into <Result<Option<O>, E>> and the other way around. Also for Iterators and potentially other types.
Option<Result<O, E>>
<Result<Option<O>, E>>
Iterator
Feel free to submit PR for other types where this operation makes sense.