sig
  type neuron_typ = {
    mutable in_shape : int array;
    mutable out_shape : int array;
  }
  val create : unit -> Owl_neural_neuron.Max.neuron_typ
  val connect : int array -> Owl_neural_neuron.Max.neuron_typ -> unit
  val run : Owl_algodiff.S.t array -> '-> Owl_algodiff.S.t
  val to_string : Owl_neural_neuron.Max.neuron_typ -> string
end