docs: def add(self, pat, fun):
          r"""Add a pattern and replacement.
  
          The pattern must not contain capturing groups.
          The replacement might be either a string template in which \& will be
          replaced with the match, or a function that will get the matching text
          as argument. It does not get match object, because capturing is
          forbidden anyway.
          """
          self._pat = None
          self._pats.append(pat)
          self._funs.append(fun)