add more constraints

IfThen  (needs a fix on asINstanceOf..., see jacop.scala)