docs: def install(self, module):
          """Install a module into this binder.
  
          In this context the module is one of the following:
  
          * function taking the :class:`Binder` as it's only parameter
  
            ::
  
              def configure(binder):
                  bind(str, to='s')
  
              binder.install(configure)
  
          * instance of :class:`Module` (instance of it's subclass counts)
  
            ::
  
              class MyModule(Module):
                  def configure(self, binder):
                      binder.bind(str, to='s')
  
              binder.install(MyModule())
  
          * subclass of :class:`Module` - the subclass needs to be instantiable so if it
            expects any parameters they need to be injected
  
            ::
  
              binder.install(MyModule)
          """
          if type(module) is type and issubclass(module, Module):
              instance = module()
          else:
              instance = module
          instance(self)