This is mostly for symmetry with HArray (which is not part of this PR) where an Int-based size method can be very efficient so you'd want to avoid the Nat wrapper. Scala collections use .size in general so I used that name to be compatible (it might even be possible to implement Collection with HList). Only Seqs have .length. I agree that the naming is unfortunate and the distinction arbitrary but I wouldn't bother with less nice names like "sizeInt" because then you might as well use "productArity".