docs: def multibind(self, interface, to, scope=None):
          """Creates or extends a multi-binding.
  
          A multi-binding maps from a key to a sequence, where each element in
          the sequence is provided separately.
  
          :param interface: :func:`MappingKey` or :func:`SequenceKey` to bind to.
          :param to: Instance, class to bind to, or an explicit :class:`Provider`
                  subclass. Must provide a sequence.
          :param scope: Optional Scope in which to bind.
          """
          key = BindingKey.create(interface)
          if key not in self._bindings:
              if isinstance(interface, dict) or isinstance(interface, type) and issubclass(interface, dict):
                  provider = MapBindProvider()
              else:
                  provider = MultiBindProvider()
              binding = self.create_binding(interface, provider, scope)
              self._bindings[key] = binding
          else:
              binding = self._bindings[key]
              provider = binding.provider
              assert isinstance(provider, ListOfProviders)
          provider.append(self.provider_for(key.interface, to))