In acc_code struct, operator '|=' is not really the dual of operator '&='
acc_code& operator&=(const acc_code& r), we take care of a complex scenarios where left and right
are conjunctions and Inf(x) might be a member of each side.
We should do the same in
acc_code& operator|=(const acc_code& r), i.e: left and right are disjunctions and Fin(x) might be a member of each side.