prefer primitives to boxed primitives, and watch out for unintentional
autoboxing