docs: def _make_signature(self):
          """
          Create a signature for `execute` based on the minimizers this
          `ChainedMinimizer` was initiated with. For the format, see the docstring
          of :meth:`ChainedMinimizer.execute`.
  
          :return: :class:`inspect.Signature` instance.
          """
          # Create KEYWORD_ONLY arguments with the names of the minimizers.
          name = lambda x: x.__class__.__name__
          count = Counter(
              [name(minimizer) for minimizer in self.minimizers]
          ) # Count the number of each minimizer, they don't have to be unique
  
          # Note that these are inspect_sig.Parameter's, not symfit parameters!
          parameters = []
          for minimizer in reversed(self.minimizers):
              if count[name(minimizer)] == 1:
                  # No ambiguity, so use the name directly.
                  param_name = name(minimizer)
              else:
                  # Ambiguity, so append the number of remaining minimizers
                  param_name = '{}_{}'.format(name(minimizer), count[name(minimizer)])
              count[name(minimizer)] -= 1
  
              parameters.append(
                  inspect_sig.Parameter(
                      param_name,
                      kind=inspect_sig.Parameter.KEYWORD_ONLY,
                      default={}
                  )
              )
          return inspect_sig.Signature(parameters=reversed(parameters))