Types again

More specific types suggested by @QuLogic

Plus fix for warning about comparing always-unsigned `size_t` against < 0.