class_docstr: Hidden API for overriding/modifying the behavior of a Parameter,
  which is itself a Layered object.
  
  Layers can be added and will be ordered depending on their level
class_docstr_tok: ["Hidden","API","for","overriding\/modifying","the","behavior","of","a","Parameter",",","which","is","itself","a","Layered","object",".","Layers","can","be","added","and","will","be","ordered","depending","on","their","level"]
code: def _call_deeper(
      self, name: str, *args: tp.Any, **kwargs: tp.Any
  ) -> tp.Any:
      if self._layers[self._layer_index] is not self:
          layers = [
              f"{lay.name}({lay._layer_index})" for lay in self._layers
          ]
          raise errors.NevergradRuntimeError(
              "Layer indexing has changed for an unknown reason. Please open an issue:\n"
              f"Caller at index {self._layer_index}: {self.name}"
              f"Layers: {layers}.\n"
          )
      if not name.startswith("_layered_"):
          raise errors.NevergradValueError(
              "For consistency, only _layered functions can be used."
          )
      for layer in reversed(self._layers[: self._layer_index]):
          func = getattr(layer, name)
          if func.__func__ is not getattr(
              Layered, name
          ):  # skip unecessary stack calls
              return func(*args, **kwargs)
      types = [type(x) for x in self._layers]
      raise errors.NevergradNotImplementedError(
          f"No implementation for {name} on layers: {types}."
      )
  
imports: import uuid
  import copy
  import bisect
  from enum import Enum
  import numpy
  from nevergrad.common import errors
  import nevergrad.common.typing
label_desc: Use image node_id 4 for calling the Layered obj's underlying member method code with example usage: obj._call_deeper(name) and returns: func