fn transpose_result<T, E>(result: Result<Option<T>, E>) -> Option<Result<T, E>>