code: func (r *Subresource) Hash() int {
  	hf := schema.HashResource(&schema.Resource{Schema: r.schema})
  	return hf(r.data)
  }
docs: // Hash calculates a set hash for the current data. If you want a hash for
  // error reporting a device address, it's probably a good idea to run this at
  // the beginning of a run as any set calls will change the value this
  // ultimately calculates.