Is this correct behavior?

CL-USER(17): (type-of 1234567898723618080928927362387)
(INTEGER 2147483648)



The relevant java code is in Bignum.java: (the value field is a java BigInteger) 

  @Override
  public LispObject typeOf()
  {
    if (value.signum() > 0)
      return list(Symbol.INTEGER,
                   new Bignum((long)Integer.MAX_VALUE + 1));
    return Symbol.BIGNUM;
  }



for comparison:
CL-USER(23): (type-of -1234567898723618080928927362387)
BIGNUM


which makes intuitive sense.