>float or integer coefficients X := X+1; or X := X+1.0; One will be illegal. I think you'll have to use X := X+This_Type(1);