code: def add_scoped! container, _options = {}
        ### add container's providers ###
        container.providers.reverse.each do |definition|
          identifier = [definition[0]].flatten
          identifier = [_options[:scope]].flatten.compact + identifier if _options[:scope]
          add_provider(*([identifier]+definition[1..-1]))
        end
  
        ### add container's provides (simple providers) ###
        container.provides.each_pair do |key, value|
          provides(([_options[:scope]].flatten.compact + [key].flatten.compact) => value)
        end
  
        ### fallback provider ###
        @fallback_provider = container.fallback_provider.block if container.fallback_provider
  
        ### add container's data ###
        give!(container.data)
      end
docs: adds all the providers defined in the given module to this class,
   but turns their identifiers into array and prefixes the array with the :scope option