Can `@keys` be nil? If so, this should probably be `unless defined?`. But I think `Array#&` returns an empty Array for disjoint arrays?