tensor type (valence)
The type (or valence) of a tensor records how many vector slots and how many covector slots it has. A type-(p, q) tensor takes q vectors and p covectors as inputs (or, dually, lives in p copies of V tensored with q copies of V*). The number p counts contravariant slots, the number q counts covariant slots, and p + q is the order. This is how physics classifies tensors.
Concrete dictionary. A scalar is type (0,0). A vector is type (1,0): one upper index, v^i. A covector or linear functional is type (0,1): one lower index, w_j. A linear operator / matrix is type (1,1): T^i_j, one up one down. The metric (an inner product) is type (0,2): g_ij, two lower indices. The inverse metric is type (2,0): g^ij.
The two kinds of slots are not interchangeable because they transform oppositely under a change of basis — that is the whole point of upper versus lower indices. Contravariant (upper) components transform by the inverse of the basis change; covariant (lower) components transform by the basis change itself. Mixing them up is the classic source of errors, and it is why you cannot freely sum an upper index with a lower one's role.
Type is the bookkeeping that makes operations legal. Contraction lowers the type from (p,q) to (p-1,q-1) by pairing one up-slot with one down-slot. Tensor product adds types: a (p,q) times an (r,s) gives a (p+r, q+s). Raising and lowering indices, using a metric, swaps an upper for a lower (or vice versa) while keeping the total order fixed — moving between types within the same order.
The (p,q) type counts upper (contravariant) and lower (covariant) slots; p+q is the order.
Do not confuse 'tensor type' (the (p,q) count of slots) with 'tensor rank' (the fewest simple terms). Type is structural and trivial to read off; rank is a hard numerical invariant. A type-(1,1) tensor and an n-by-n matrix are the same kind of object; their ranks may be anything from 0 to n.