final case classHead[Input0 <: Batch, HeadData, HeadDelta, TailData <: Coproduct, TailDelta <: Coproduct](operand: Aux[Input0, Aux[:+:[HeadData, TailData], :+:[HeadDelta, TailDelta]]]) extends Layer with Product with Serializable
final case classInl[Input0 <: Batch, HeadData, HeadDelta](operand: Aux[Input0, Aux[HeadData, HeadDelta]]) extends Layer with Product with Serializable
final case classInr[Input0 <: Batch, TailData <: Coproduct, TailDelta <: Coproduct](operand: Aux[Input0, Aux[TailData, TailDelta]]) extends Layer with Product with Serializable
final case classIsInl[Input0 <: Batch, HeadData, HeadDelta, TailData <: Coproduct, TailDelta <: Coproduct](operand: Aux[Input0, Aux[:+:[HeadData, TailData], :+:[HeadDelta, TailDelta]]]) extends Layer with Product with Serializable
final case classTail[Input0 <: Batch, HeadData, HeadDelta, TailData <: Coproduct, TailDelta <: Coproduct](operand: Aux[Input0, Aux[:+:[HeadData, TailData], :+:[HeadDelta, TailDelta]]]) extends Layer with Product with Serializable