last に nil を set する場合、last を削除するのか、配列の長さを 0 にするのか、はたまたなにもしないのか
特に初学者にとって直感的でない動作になってしまうんではないかな