> 255 - 129 is less than 128 so the result is T.max, which is > 255, which is not equal to 0. I dont understand this at all 255 - 129 should be 126 in ubyte or not?