T[] x; if (y in x) ... It just checks to see if y is in between 0 and length. Clearly y has to be an int and clearly the semantics are equivalent to AA and so it all works out rather than having an arbitrary special case. This is helpful when one has generate algorithms that can work with AA's or DA's that use in.