Store character rules’ matches in a set, not a vector
Move ‘sign’ property of character sets onto individual character matches

This will make it possible to represent intersections and differences of these sets