Extend the number of types of constraints from 2 to 3

Instead of having a "exact" flag, have a "type" field with 3 different values