def find(*args)
      @registry.elements(@selectors).each do |config|
        next unless config.check?(*args)
        return config.implementation
      end

      fail(Implementation::NotFound,
           "no compatible implementation for #{inspect}")
    end
def find(*args)
      @registry.elements(@selectors).each do |config|
        next unless config.check?(*args)
        return config.implementation
      end

      fail(Implementation::NotFound,
           "no compatible implementation for #{inspect}")
    end
Find a suitable implementation of the given interface,
 given the args that would be passed to its #initialize
 and our selectors
 @api private