lhs = mod[0] -> tee();
rhs = mod[1] -> tee();
lhs -> [0]joined;
rhs -> [1]joined;
joined = join() -> map(|(k, (lhs, rhs))| (k, (Some(lhs), Some(rhs)))) -> combined;
lhs -> [pos]missed_lhs;
rhs -> map(|(k, _v)| k) -> [neg]missed_lhs;
missed_lhs = anti_join()
-> map(|(k, v)| (k, (Some(v), None)))
-> combined;
rhs -> [pos]missed_rhs;
lhs -> map(|(k, _v)| k) -> [neg]missed_rhs;
missed_rhs = anti_join()
-> map(|(k, v)| (k, (None, Some(v))))
-> combined;
combined = union() -> mod;