code: def _docspec_comments(obj) -> Dict[str, str]:
      
      # Sometimes our docstring is on the class, and sometimes it's on the initializer,
      # so we've got to check both.
      class_docstring = getattr(obj, '__doc__', None)
      init_docstring = getattr(obj.__init__, '__doc__', None) if hasattr(obj, '__init__') else None
  
      docstring = class_docstring or init_docstring or ''
  
      doc = NumpyDocString(docstring)
      params = doc["Parameters"]
      comments: Dict[str, str] = {}
  
      for line in params:
          # It looks like when there's not a space after the parameter name,
          # numpydocstring parses it incorrectly.
          name_bad = line[0]
          name = name_bad.split(":")[0]
  
          # Sometimes the line has 3 fields, sometimes it has 4 fields.
          comment = "\n".join(line[-1])
  
          comments[name] = comment
  
      return comments
docs: Inspect the docstring and get the comments for each parameter.