docs: def make_dict(name, words, *args, **kwargs):
      """
      make_dict(name, words, *args, **kwargs) -> mapping subclass
  
      Takes a sequence of words (or a pre-built Czech HashInfo) and returns a
      mapping subclass called `name` (used a dict) that employs the use of the
      minimal perfect hash.
  
      This mapping subclass has guaranteed O(1) worst-case lookups, additions,
      and deletions, however is slower than dict() in practice.
  
      >>> months = 'jan feb mar apr may jun jul aug sep oct nov dec'.split()
      >>> MyDict = make_dict('MyDict', months)
      >>> d = MyDict(dec=21, feb=None, may='hello')
      >>> d['jul'] = False
      >>> d
      MyDict([('feb', None), ('may', 'hello'), ('jul', False), ('dec', 21)])
      >>> del d['may']
      >>> del d['apr']
      Traceback (most recent call last):
      ...
      KeyError: 'apr'
      >>> len(d)
      3
      """
  
      info = CzechHashBuilder(words, *args, **kwargs)
  
      # Create a docstring that at least describes where the class came from...
      doc = """
          Dictionary-like object that uses minimal perfect hashing, perserving
          original order. This class was generated by `%s.%s(%r, ...)`.
          """ % (__name__, make_dict.__name__, name)
  
      # Delegate to create_dict.
      return create_dict_subclass(name, info.hash_function, info.words, doc)