generic: set operators on NL messages

a - b = complement
a & b = intersection