No, `is_valid_int` doesn't really do what we want, it just checks that the type is really an int, I think here we really want to check the bounds, so that if the type is wider, but the value still fits in the bounds of an int, we only create a fixnum.