Best data structure for a 2D array of generic cell content?

I’d like to create a 2D array which is parameterized over the type of array elements. The most important operations are finding neighbouring cells for a cell and reading/writing cells. I’m not doing any matrix/vector style operations.

I can definitely do this by using a List[List[T]]. I also looked into the NumPy style packages for Mojo which I think assume the array content is some kind of scalar numeric type?

Is there anything between nested lists and numeric arrays that could do this?

TileTensor from the MAX side of things is probably what you want to investigate

Thanks!