overflow bug in system:int32 ?
LispWorks provides an API for 32-bit arithmetic
   http://www.lispworks.com/documentation/lw50/LWUG/html/lwuser-93.htm
On my 64-bit Linux installation using LispWorks 5.0.2, it looks like
this overflows into values that are 64-bits:
                                                             
    > (setf xx system:+int32-1+)                                              
    #<SYSTEM:INT32 1>                                                               
    > (setf xx (system:int32<< xx 20))                                        
    #<SYSTEM:INT32 1048576>                                                         
    > (setf xx (system:int32<< xx 20))                                        
    #<SYSTEM:INT32 1099511627776>                                                   
    > (setf xx (system:int32<< xx 20))                                        
    #<SYSTEM:INT32 1152921504606846976>                                             
    > (setf xx (system:int32<< xx 20))                                        
    #<SYSTEM:INT32 0>                                                               
Is the int32 type expected to work on 64 bit installations?
Cheers,
Chris Dean