code: func (c *Config) DeepEach(cb func(c *Config)) {
  	cb(c)
  
  	names := make([]string, 0, len(c.Children))
  	for name := range c.Children {
  		names = append(names, name)
  	}
  
  	for _, name := range names {
  		c.Children[name].DeepEach(cb)
  	}
  }
docs: // DeepEach calls the given function once for each module in the tree, starting
  // with the receiver.
  //
  // A parent is always called before its children and children of a particular
  // node are visited in lexicographic order by their names.