code: func (def *PackageDef) strings() []*string {
  	out := []*string{
  		&def.Package,
  		&def.Root,
  	}
  	// Important to use index here, to get a point to a real object, not its copy.
  	for i := range def.Data {
  		out = append(out, def.Data[i].strings()...)
  	}
  	return out
  }
docs: // strings return array of pointers to all strings in PackageDef that can
  // contain ${var} variables.