///|
pub(all) struct Linear[T] {
  weight : T
  bias : T
}

///|
pub fn[T : @tensor.TensorOps] Linear::forward(
  self : Linear[T],
  input : T,
) -> T raise {
  input.matmul(self.weight).add(self.bias)
}