unsigned ints can be oh-so-dangerous