Type Alias ValueArray

ValueArray: (Primitive | ValueArrayObject)[] extends (infer U)[] ? U[] : never

When an array is used, it must be an array of the same type. Arrays are also limited to primitives and objects of primitives