Typescript Mapped Type Array Tomography