Unified constraints and boolean expressions.
Separated arithmetic to their own class.