Result<'leftOk option, 'error> -> Result<'rightOk option, 'error> -> Result<('leftOk * 'rightOk) option, 'error>
let result = ResultOption.zip (Ok(Some 1)) (Ok(Some 2))
// Ok (Some(1, 2))
let result = ResultOption.zip (Ok(Some 1)) (Ok None)
// Ok None
let result = ResultOption.zip (Ok(Some 1)) (Error "Bad")
// Error "Bad"
let result = ResultOption.zip (Error "Bad1") (Error "Bad2")
// Error "Bad1"