code: func (d *ResourceDiff) checkKey(key, caller string, nested bool) error {
  	var schema *Schema
  	if nested {
  		keyParts := strings.Split(key, ".")
  		schemaL := addrToSchema(keyParts, d.schema)
  		if len(schemaL) > 0 {
  			schema = schemaL[len(schemaL)-1]
  		}
  	} else {
  		s, ok := d.schema[key]
  		if ok {
  			schema = s
  		}
  	}
  	if schema == nil {
  		return fmt.Errorf("%s: invalid key: %s", caller, key)
  	}
  	if !schema.Computed {
  		return fmt.Errorf("%s only operates on computed keys - %s is not one", caller, key)
  	}
  	return nil
  }
docs: // checkKey checks the key to make sure it exists and is computed.