Type-safe modelling DSL, symbolic transformation, and code generation for solving optimization problems.