class_docstr: A sequence of [`equinox.Module`][]s applied in order.
  
  !!! note
  
      Activation functions can be added by wrapping them in [`equinox.nn.Lambda`][].
docstr: **Arguments:**
  
  - `x`: passed to the first member of the sequence.
  - `state`: If provided, then it is passed to, and updated from, any layer
      which subclasses [`equinox.nn.StatefulLayer`][].
  - `key`: Ignored; provided for compatibility with the rest of the Equinox API.
      (Keyword only argument.)
  
  **Returns:**
  The output of the last member of the sequence.
  
  If `state` is passed, then a 2-tuple of `(output, state)` is returned.
  If `state` is not passed, then just the output is returned.
docstr_tok: ["*","*","Arguments",":","*","*","-","`","x","`",":","passed","to","the","first","member","of","the","sequence",".","-","`","state","`",":","If","provided",",","then","it","is","passed","to",",","and","updated","from",",","any","layer","which","subclasses","[","`","equinox.nn.StatefulLayer","`","]","[","]",".","-","`","key","`",":","Ignored",";","provided","for","compatibility","with","the","rest","of","the","Equinox","API",".","(","Keyword","only","argument",".",")","*","*","Returns",":","*","*","The","output","of","the","last","member","of","the","sequence",".","If","`","state","`","is","passed",",","then","a","2-tuple","of","`","(","output",",","state",")","`","is","returned",".","If","`","state","`","is","not","passed",",","then","just","the","output","is","returned","."]
code: def __call__(
      self,
      x: Array,
      state: State = sentinel,
      *,
      key: Optional[PRNGKeyArray] = None,
  ) -> Union[Array, tuple[Array, State]]:
      """**Arguments:**
  
      - `x`: passed to the first member of the sequence.
      - `state`: If provided, then it is passed to, and updated from, any layer
          which subclasses [`equinox.nn.StatefulLayer`][].
      - `key`: Ignored; provided for compatibility with the rest of the Equinox API.
          (Keyword only argument.)
  
      **Returns:**
      The output of the last member of the sequence.
  
      If `state` is passed, then a 2-tuple of `(output, state)` is returned.
      If `state` is not passed, then just the output is returned.
      """
  
      if key is None:
          keys = [None] * len(self.layers)
      else:
          keys = jr.split(key, len(self.layers))
      for layer, key in zip(self.layers, keys):
          if isinstance(layer, StatefulLayer) and layer.is_stateful():
              x, state = layer(x, state=state, key=key)
          else:
              x = layer(x, key=key)
      if state is sentinel:
          return x
      else:
          return x, state
  
imports: from collections.abc import Callable, Sequence
  from typing import Any, Optional, overload, Union
  import jax
  import jax.random
  from jaxtyping import Array, PRNGKeyArray
  from .._better_abstract import AbstractClassVar
  from .._custom_types import sentinel
  from .._module import Module, StrictConfig
  from ._stateful import State
label_desc: Use image node_id 5 for calling the Sequential obj's underlying member method code with example usage: obj.__call__(x, state) and returns: x, x,  state