Correctly handle multiple branches in Or