By the way, to restrict conversion to literals you can use the {lit} constraint converter toIntAp(n: int{lit}): IntAp Run
Otherwise some subtle bugs might be introduced where you or your user do not want because an int was converted silently to IntAp.