Wouldn’t that hurt locality? Since now you need to do multiple access across the entire heap to reconstruct one object.
It also simplifies and speeds up SIMD loads and stores, because you can load/store entire SIMD registers with a continuous, non-strided memory access.