def merge!(other)
      @hooks.merge!(other.dup.hooks) do |key, array, other_array|
        temp_hash, output = {}, []

        (array + other_array).reverse_each do |pair|
          temp_hash[pair.first] ||= output.unshift(pair)
        end

        output
      end

      self
    end
def merge!(other)
      @hooks.merge!(other.dup.hooks) do |key, array, other_array|
        temp_hash, output = {}, []

        (array + other_array).reverse_each do |pair|
          temp_hash[pair.first] ||= output.unshift(pair)
        end

        output
      end

      self
    end
Destructively merge the contents of two `PuppetDebugger::Hooks` instances.

 @param [PuppetDebugger::Hooks] other The `PuppetDebugger::Hooks` instance to merge
 @return [PuppetDebugger::Hooks] The receiver.
 @see {#merge}