docs: def normalize(string, chars_to_remove=None, replacement=''):
      """
      Remove accented characters and such.
  
      The argument chars_to_remove is a dictionary that maps a string of chars to
      a single character. Every occurrence of every character in the first string
      will be replaced by that second character passed as value. If only one
      mapping is desired, chars_to_remove may be a single string, but a third
      parameter, replacement, must be provided to complete the translation.
      """
      ret = string.translate(str.maketrans({
          'á': 'a',
          'ä': 'a',
          'æ': 'ae',
          'é': 'e',
          'í': 'i',
          'ó': 'o',
          'ö': 'o',
          'ú': 'u',
          'ü': 'u',
          'ñ': 'n',
      }))
  
      if isinstance(chars_to_remove, dict):
          for chars, replace in chars_to_remove.items():
              reg = '[' + re.escape(chars) + ']'
              ret = re.sub(reg, replace, ret)
  
      elif isinstance(chars_to_remove, str):
          reg = '[' + re.escape(chars_to_remove) + ']'
          ret = re.sub(reg, replacement, ret)
  
      return ret