code: func (f *file) lintTypeDoc(t *ast.TypeSpec, doc *ast.CommentGroup) {
  	if !ast.IsExported(t.Name.Name) {
  		return
  	}
  	if doc == nil {
  		f.errorf(t, 1, link(docCommentsLink), category("comments"), "exported type %v should have comment or be unexported", t.Name)
  		return
  	}
  
  	s := doc.Text()
  	articles := [...]string{"A", "An", "The"}
  	for _, a := range articles {
  		if strings.HasPrefix(s, a+" ") {
  			s = s[len(a)+1:]
  			break
  		}
  	}
  	if !strings.HasPrefix(s, t.Name.Name+" ") {
  		f.errorf(doc, 1, link(docCommentsLink), category("comments"), `comment on exported type %v should be of the form "%v ..." (with optional leading article)`, t.Name, t.Name)
  	}
  }
docs: // lintTypeDoc examines the doc comment on a type.
  // It complains if they are missing from an exported type,
  // or if they are not of the standard form.