docs: def with_indents(self, s, indent=0, stacklevel=3):
          """
          Substitute a string with the indented :attr:`params`
  
          Parameters
          ----------
          s: str
              The string in which to substitute
          indent: int
              The number of spaces that the substitution should be indented
          stacklevel: int
              The stacklevel for the warning raised in :func:`safe_module` when
              encountering an invalid key in the string
  
          Returns
          -------
          str
              The substituted string
  
          See Also
          --------
          with_indent, dedents"""
          # we make a new dictionary with objects that indent the original
          # strings if necessary. Note that the first line is not indented
          d = {key: _StrWithIndentation(val, indent)
               for key, val in six.iteritems(self.params)}
          return safe_modulo(s, d, stacklevel=stacklevel)