bigints are relatively expensive, is it really necessary to go through it in all cases, even `Fixnum % Fixnum`?