code: func (s *SyncState) OutputValue(addr addrs.AbsOutputValue) *OutputValue {
  	s.lock.RLock()
  	ret := s.state.OutputValue(addr).DeepCopy()
  	s.lock.RUnlock()
  	return ret
  }
docs: // OutputValue returns a snapshot of the state of the output value with the
  // given address, or nil if no such output value is tracked.
  //
  // The return value is a pointer to a copy of the output value state, which the
  // caller may then freely access and mutate.