class_docstr: Class providing the core functionality of a parameter, aka
  value, internal/model parameters, mutation, recombination
  and additional features such as shared random state,
  constraint check, hashes, generation and naming.
  The value field should sent to the function to optimize.
  
  Example
  -------
  >>> ng.p.Array(shape=(2,)).value
  array([0., 0.])
docstr: Random state the instrumentation and the optimizers pull from.
  It can be seeded/replaced.
docstr_tok: ["Random","state","the","instrumentation","and","the","optimizers","pull","from",".","It","can","be","seeded\/replaced","."]
code: def random_state(self) -> np.random.RandomState:
      """Random state the instrumentation and the optimizers pull from.
      It can be seeded/replaced.
      """
      if self._random_state is None:
          # use the setter, to make sure the random state is propagated to the variables
          seed = np.random.randint(
              2**32, dtype=np.uint32
          )  # better way?
          self._set_random_state(np.random.RandomState(seed))
      assert self._random_state is not None
      return self._random_state
  
imports: import uuid
  import warnings
  import numpy
  import nevergrad.common.typing
  from nevergrad.common import errors
  from .None import utils
  from ._layering import ValueProperty
  from ._layering import Layered
  from ._layering import Level
label_desc: Use image node_id 21 for calling the Parameter obj's underlying member method code with example usage: obj.random_state() and returns: self