code: func (k *Key) Attr(name string) (starlark.Value, error) {
  	switch name {
  	case "container":
  		if c := k.Container(); c != nil {
  			return c, nil
  		}
  		return starlark.None, nil
  	case "id":
  		return starlark.String(k.ID()), nil
  	case "kind":
  		return starlark.String(k.Kind()), nil
  	default:
  		return nil, nil // per Attr(...) contract
  	}
  }
docs: // Attr is a part of starlark.HasAttrs interface.