code: def _split(ops: Ops, Xp: Padded) -> Tuple[Padded, Padded]:
      half = Xp.data.shape[-1] // 2
      # I don't know how to write these ellipsis in the overloads :(
      X_l2r = Xp.data[
          cast(Tuple[slice, slice], (..., slice(None, half)))
      ]
      X_r2l = Xp.data[cast(Tuple[slice, slice], (..., slice(half)))]
      return (
          Padded(X_l2r, Xp.size_at_t, Xp.lengths, Xp.indices),
          Padded(X_r2l, Xp.size_at_t, Xp.lengths, Xp.indices),
      )
  
file_path: thinc/thinc/layers/bidirectional.py
imports: from typing import Callable, Optional, Tuple, cast
  from ..backends import Ops
  from ..config import registry
  from ..model import Model
  from ..types import Padded
label_desc: Use image node_id 6 for calling a global function with example usage: _split(ops, Xp) and returns: Padded,  Padded