Similarly simple is representing a multi-dimensional array as a single 1-dimensional array, together with its dimensions. For example, representing an "m" × "n" array as a single list of length "m·n", together with the numbers "m" and "n" (instead of as a 1-dimensional array of pointers to each 1-dimensional subarray). The elements need not be of the same type, and a table of data (a list of records) may similarly be represented implicitly as a flat (1-dimensional) list, together with the length of each field, so long as each field has uniform size (so a single size can be used per field, not per record).