sig
  val empty : int array -> Owl_algodiff_generic.Make.t
  val zeros : int array -> Owl_algodiff_generic.Make.t
  val uniform : ?scale:float -> int array -> Owl_algodiff_generic.Make.t
  val gaussian : ?sigma:float -> int array -> Owl_algodiff_generic.Make.t
  val shape : Owl_algodiff_generic.Make.t -> int array
  val numel : Owl_algodiff_generic.Make.t -> int
  val reset : Owl_algodiff_generic.Make.t -> unit
  val reshape :
    Owl_algodiff_generic.Make.t -> int array -> Owl_algodiff_generic.Make.t
end