Can't subtract uchar1 ? no operator matches these operads

Quick question: how is one supposed to do computations using uchar1 values? I’m trying to subtract 2 values and I’m getting an error message (see below):

  uchar1 currVal = tex2D(devTexture, x, y);

   uchar1 val255 = make_uchar1(255);

   uchar1 newVal = val255 - currVal;

1> error: no operator “-” matches these operands

1> operand types are: uchar1 - uchar1

why not use uchar? uchar1 has as far as I know a field .x, so you would have to write :
val255.x - currval.x in your code. Using just uchar should just work ™.