def update_values(&b)
            return enum_for(__method__) unless block_given?
            return self.class.new self.transform_values(&b) if self.respond_to?(:transform_values)
            return self.class.new self.map(&b) if self.respond_to?(:map)

            raise NotImplementedError, "This object does not implement this method"
        end
def update_values(&b)
            return enum_for(__method__) unless block_given?
            return self.class.new self.transform_values(&b) if self.respond_to?(:transform_values)
            return self.class.new self.map(&b) if self.respond_to?(:map)

            raise NotImplementedError, "This object does not implement this method"
        end
Returns a new compound object with updated values based on the provided block.