>>554
整数がオブジェクトであるメリットは、俺にとっては
anInteger timesRepeat: aBlock や
anInteger factorial や
anInteger + anotherInteger が
SmallIntegerであってもLarge(Positive/Negative)Integerであっても同様な動作が期待できること。
その結果、整数を引数とするメソッドを書いた時に、そのメソッドの汎用性を高めることができる。

そのメソッドへの整数引数が毎回SmallIntegerならば、
SmallIntegerはタグ付きオブジェクトポインタとして実装されているから
整数オブジェクトのためのメモリアロケーションは発生しないし
動的束縛などの実行時のオーバーヘッドはインクリメンタルコンパイラによって軽減させることができる。

そのメソッドへの整数引数がSmallIntegerだったりLarge(Positive|Negative)Integerだったりするなら
そのメソッドの汎用性が高まるし、実行時のオーバヘッドは可変長整数とほぼ同様になる。