@type t() :: %CPSolver.Model{ constraints: [CPSolver.Constraint.t()], extra: term(), id: reference(), name: term(), objective: CPSolver.Objective.t(), variables: [CPSolver.IntVariable.t()] }