ArrayList<Expr> rhsConstraints = new ArrayList<Expr>();
splitConstraints(incoming,common,lhsConstraints,rhsConstraints);
// Finally, put it all together
Expr l = And(lhsConstraints);
Expr r = And(rhsConstraints);
// can now compute the logical OR of both branches
Expr join = Or(l,r);
// now, clear our sequential constraints since we can only have one
// which holds now: namely, the or of the two branches.
Scope top = topScope();
top.constraints.clear();