class_docstr: Used with the `out_axes` argument of [`equinox.filter_vmap`][], to only add an
  output batch axis if necessary.
  
  That is, `out_axes=if_mapped(i)` is equivalent to `out_axes=i` for any output that
  is batched, and `out_axes=None` fofr any output that is not batched.
class_docstr_tok: ["Used","with","the","`","out_axes","`","argument","of","[","`","equinox.filter_vmap","`","]","[","]",",","to","only","add","an","output","batch","axis","if","necessary",".","That","is",",","`","out_axes=if_mapped","(","i",")","`","is","equivalent","to","`","out_axes=i","`","for","any","output","that","is","batched",",","and","`","out_axes=None","`","fofr","any","output","that","is","not","batched","."]
code: def __call__(self, x: Any):
      raise RuntimeError(
          "`eqx.internal.if_mapped` should not be called directly; it is only valid "
          "when passed to `out_axes` of `eqx.filter_vmap`."
      )
  
imports: import dataclasses
  import functools
  import inspect
  import warnings
  from collections.abc import Callable, Hashable
  from typing import Any, Literal, Optional, overload, Union
  import jax
  import jax._src.traceback_util
  import jax.core
  import jax.interpreters.batching
  import jax.interpreters.pxla
  import jax.numpy
  import jax.tree_util
  import numpy
  from jaxtyping import PyTree
  from ._compile_utils import compile_cache, hashable_combine, hashable_partition, Lowered
  from ._custom_types import sentinel
  from ._deprecate import deprecated_0_10
  from ._doc_utils import doc_remove_args
  from ._filters import combine, filter, is_array, is_array_like, partition
  from ._module import Module, module_update_wrapper, Partial, Static
label_desc: Use image node_id 1 for calling the if_mapped obj's underlying member method code with example usage: obj.__call__(x) without return types