SmallList2 and SmallList4 are storing first 2/4 items on stack and rest (if any) in the heap array.
So we may avoid indirection of going to heap array and store up to 2 (SmallList2) expressions inside the block itself, and the rest in the smaller array on heap.