def METHOD_NAME(self):
    type_id = len(self.types)
    num_actions = self.np_random.integers(3, 10)
    obs_size = self.np_random.integers(10, 50)
    obs_space = gymnasium.spaces.Box(low=0, high=1, shape=(obs_size,))
    act_space = gymnasium.spaces.Discrete(num_actions)
    obs_space.seed(self.rng_seed)
    act_space.seed(self.rng_seed)
    new_type = f"type{type_id}"
    self.types.append(new_type)
    self._obs_spaces[new_type] = obs_space
    self._act_spaces[new_type] = act_space
    self._agent_counters[new_type] = 0
    return new_type