code: func CreateExtension(tx Tx, e *api.Extension) error {
  	// Ensure the name is not already in use.
  	if tx.lookup(tableExtension, indexName, strings.ToLower(e.Annotations.Name)) != nil {
  		return ErrNameConflict
  	}
  
  	// It can't conflict with built-in kinds either.
  	if _, ok := schema.Tables[e.Annotations.Name]; ok {
  		return ErrNameConflict
  	}
  
  	return tx.create(tableExtension, extensionEntry{e})
  }
docs: // CreateExtension adds a new extension to the store.
  // Returns ErrExist if the ID is already taken.