Describir: Constraint Imperative Programming