code: def provider(container, cache, name=None):
      
      def register(provider):
          container.add_provider(provider, cache, name)
          return provider
  
      return register
docs: A decorator to register a provider on a container.
      For more information see :meth:`Container.add_provider`.