pub type DelayedConstraintFn<Var, Value> = Rc<dyn Fn(&[&Value]) -> Box<dyn Constraint<Var, Value>>>;
struct DelayedConstraintFn<Var, Value> { /* private fields */ }