class PropertySet < Array
But in fact, it's not really an array,
it's more like a Hash, since PropertySet# has
hash semantics, and so do PropertySet#values_at.
They are delegated methods from Mash, and Mash is a
kind of Hash, that automatically convert a Symbol into
a String, a common practice in Ruby for map lookup.
It is better to include Enumerable instead of
extending from Array. The Array ancestor confused me....