code: func (a *ArgType) convext(prefix string, f *Field, t *Field) string {
  	expr := prefix + "." + f.Name
  	if f.Type == t.Type {
  		return expr
  	}
  
  	ft := f.Type
  	if strings.HasPrefix(ft, "sql.Null") {
  		expr = expr + "." + f.Type[8:]
  		ft = strings.ToLower(f.Type[8:])
  	}
  
  	if t.Type != ft {
  		expr = t.Type + "(" + expr + ")"
  	}
  
  	return expr
  }
docs: // convext generates the Go conversion for f in order for it to be assignable
  // to t.
  //
  // FIXME: this should be a better name, like "goconversion" or some such.