Lifting binary operations, e.g. T+T → Option<T> + Option<T>

I did not intend to suggest that we add implicit lifting of binary operations via impl Add and the like. I thought I was suggesting explicit binary lifters, along the lines of

fn add_opt(a: Option<i32>, b: Option<i32>) -> Option<i32> {
    (a, b).map_both(|a, b| a+b)
}

I’m not sure that’s better than Some(a? + b?) though.