x can either be a vector with no dimension attributes (a list of values), a vector with dimensions, or a matrix/array. If x is a matrix/array, the function gives x if ncol(x) is greater than or equal to nrow(x), or its transpose if ncol(x) is less than or equal to nrow(x). For any input, the input is given non-null dimensions.