code: def _build_initializer(model, proper_name):
          
          def initializer(
                  self,
                  mount: str,
                  trash_container: Labware = None,
                  tip_racks: List[Labware] = None,
                  aspirate_flow_rate: float = None,
                  dispense_flow_rate: float = None,
                  min_volume: float = None,
                  max_volume: float = None) -> InstrumentContext:
              return AddInstrumentCtors._load_instr(self._ctx,
                                                    model,
                                                    mount)
          initializer.__name__ = proper_name
          initializer.__qualname__ = '.'.join([AddInstrumentCtors.__qualname__,
                                               proper_name])
          initializer.__doc__ = \
              """Build a {} in a backwards-compatible way.
  
              :param mount: The mount to load the instrument. One of
                            `'left'` or `'right'`.
              :param trash_container: If specified, a :py:class:`.Labware` to
                                      use for trash.
              :param tip_racks: If specified, a list of :py:class:`.Labware`
                                containing tips.
              :param aspirate_flow_rate: If specified, a flow rate (in uL/s)
                                         to use when aspirating. By default,
                                         the value from the pipette's
                                         configuration.
              :param dispense_flow_rate: If specified, a flow rate (in uL/s)
                                         to use when dispensing. By default,
                                         the value from the pipette's
                                         configuration.
              :param min_volume: The minimum volume that can be aspirated at
                                 once. By default, the pipette's minimum
                                 volume.
              :param max_volume: The maximum volume that can be aspirated at
                                 once. By default, the pipette's maximum
                                 volume.
  
              :returns: An :py:class:`.InstrumentContext`, which represents
                        the newly-loaded pipette.
              """.format(' '.join(proper_name.split('_')))
          return initializer
docs: Build an initializer function for a given pipette.
  
          This is a separate function so that the `proper_name` is correctly
          caught in the closure that it returns.