code: func (o *Object) SetAttr(key, value string) error {
  	ctx := context.TODO() // TODO: make it possible to get a context via Object; either new context field, or via some "ImportRun" field?
  	if o.Attr(key) == value {
  		return nil
  	}
  	_, err := o.h.upload(ctx, schema.NewSetAttributeClaim(o.pn, key, value))
  	if err != nil {
  		return err
  	}
  	o.mu.Lock()
  	defer o.mu.Unlock()
  	if o.attr == nil {
  		o.attr = make(map[string][]string)
  	}
  	o.attr[key] = []string{value}
  	return nil
  }
docs: // SetAttr sets the attribute key to value.