def compose(other)
      transform_value { |v| {v => other[v]} if other.has_key?(v) }
    end
def compose(other)
      transform_value { |v| {v => other[v]} if other.has_key?(v) }
    end
Returns a Hasher which composes each value in this Hasher with the key of the
 other Hasher, e.g.:
   x = {:a => :c, :b => :d}
   y = {:c => 1}
   z = x.compose(y)
   z[:a] #=> {:c => 1}
   z[:b] #=> nil

 The accessor reflects changes to the underlying hashes, e.g. given the above example:
   x[:b] = 2
   z[:b] #=> {:c => 1}

 Update operations on the result are not supported.

 @param [Hasher] other the Hasher to compose with this Hasher
 @return [Hasher] the composed result