code: func ParseDocumentationFrom(src string) []KubeTypes {
  	var docForTypes []KubeTypes
  
  	pkg := astFrom(src)
  
  	for _, kubType := range pkg.Types {
  		if structType, ok := kubType.Decl.Specs[0].(*ast.TypeSpec).Type.(*ast.StructType); ok {
  			var ks KubeTypes
  			ks = append(ks, Pair{kubType.Name, fmtRawDoc(kubType.Doc)})
  
  			for _, field := range structType.Fields.List {
  				if n := fieldName(field); n != "-" {
  					fieldDoc := fmtRawDoc(field.Doc.Text())
  					ks = append(ks, Pair{n, fieldDoc})
  				}
  			}
  			docForTypes = append(docForTypes, ks)
  		}
  	}
  
  	return docForTypes
  }
docs: // ParseDocumentationFrom gets all types' documentation and returns them as an
  // array. Each type is again represented as an array (we have to use arrays as we
  // need to be sure for the order of the fields). This function returns fields and
  // struct definitions that have no documentation as {name, ""}.