We are using surface tuples throughout accelerate-backend kit, including decoding the EltRepr to recover the surface structure (which doesn't help us with shapes, alas).
However, there's an inconsistency here, because we count projlen in ETupProject in terms of scalar leaves. If we are sticking with surface, N-array tuples, then this should be replaced with a basic "project field N of M" operator, and this should be able to happen from when we first build SimpleAcc.