code: func (o *Object) SetAttrs2(keyval ...string) (changes bool, err error) {
  	if len(keyval)%2 == 1 {
  		panic("importer.SetAttrs: odd argument count")
  	}
  
  	g := syncutil.Group{}
  	for i := 0; i < len(keyval); i += 2 {
  		key, val := keyval[i], keyval[i+1]
  		if val != o.Attr(key) {
  			changes = true
  			g.Go(func() error {
  				return o.SetAttr(key, val)
  			})
  		}
  	}
  	return changes, g.Err()
  }
docs: // SetAttrs2 sets multiple attributes and returns whether there were
  // any changes. The provided keyval should be an even number of
  // alternating key/value pairs to set.