code: func (a *ArgType) colnames(fields []*Field, ignoreNames ...string) string {
  	ignore := map[string]bool{}
  	for _, n := range ignoreNames {
  		ignore[n] = true
  	}
  
  	str := ""
  	i := 0
  	for _, f := range fields {
  		if ignore[f.Name] {
  			continue
  		}
  
  		if i != 0 {
  			str = str + ", "
  		}
  		str = str + a.colname(f.Col)
  		i++
  	}
  
  	return str
  }
docs: // colnames creates a list of the column names found in fields, excluding any
  // Field with Name contained in ignoreNames.
  //
  // Used to present a comma separated list of column names, that can be used in
  // a SELECT, or UPDATE, or other SQL clause requiring an list of identifiers
  // (ie, "field_1, field_2, field_3, ...").