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