code: func (e *Evaluator) Scope(data lang.Data, self addrs.Referenceable) *lang.Scope {
  	return &lang.Scope{
  		Data:     data,
  		SelfAddr: self,
  		PureOnly: e.Operation != walkApply && e.Operation != walkDestroy,
  		BaseDir:  ".", // Always current working directory for now.
  	}
  }
docs: // Scope creates an evaluation scope for the given module path and optional
  // resource.
  //
  // If the "self" argument is nil then the "self" object is not available
  // in evaluated expressions. Otherwise, it behaves as an alias for the given
  // address.