# File lib/facets/core/hash/op_and.rb, line 18
  def &(other)
    case other
    when Array
      k = (keys & other)
      Hash[*(k.zip(values_at(*k)).flatten)]
    else
      Hash.new[*(to_a & other.to_a).flatten]
    end
  end