code: func (c *ResourceConfig) interpolateForce() {
  	if c.raw == nil {
  		// If we don't have a lowercase "raw" but we _do_ have the uppercase
  		// Raw populated then this indicates that we're recieving a shim
  		// ResourceConfig created by NewResourceConfigShimmed, which is already
  		// fully evaluated and thus this function doesn't need to do anything.
  		if c.Raw != nil {
  			return
  		}
  
  		var err error
  		c.raw, err = config.NewRawConfig(make(map[string]interface{}))
  		if err != nil {
  			panic(err)
  		}
  	}
  
  	c.ComputedKeys = c.raw.UnknownKeys()
  	c.Raw = c.raw.RawMap()
  	c.Config = c.raw.Config()
  }
docs: // interpolateForce is a temporary thing. We want to get rid of interpolate
  // above and likewise this, but it can only be done after the f-ast-graph
  // refactor is complete.