That's a good question. Lots of equals() impls check for class equality, and primarily I wanted to avoid accidental array materialization. I could special-case that & delegate to the generic helper as fallback, but maybe that's one of those bridges we can cross when we come to it?