Constraints are referenced by handle in the constraint graph. Constraint handles allow us to support different allocation and storage policies for constraints. E.g., heap-allocated constraints, array-based constraints etc.