mixed signed/unsigned is flexible