docs: def get_from_layer(self, name, layer=None):
          """Get a configuration value from the named layer.
  
          Parameters
          ----------
          name : str
              The name of the value to retrieve
          layer: str
              The name of the layer to retrieve the value from. If it is not supplied
              then the outermost layer in which the key is defined will be used.
          """
          if name not in self._children:
              if self._frozen:
                  raise KeyError(name)
              self._children[name] = ConfigTree(layers=self._layers)
          child = self._children[name]
          if isinstance(child, ConfigNode):
              return child.get_value(layer)
          else:
              return child