sig
  module Eval : Eval
  module Var : sig type t end
  module Input :
    sig
      val get_vars :
        Gpr_interfaces.Specs.Eval.Input.t ->
        Gpr_interfaces.Specs.Optimizer.Var.t array
      val get_value :
        Gpr_interfaces.Specs.Eval.Input.t ->
        Gpr_interfaces.Specs.Optimizer.Var.t -> float
      val set_values :
        Gpr_interfaces.Specs.Eval.Input.t ->
        Gpr_interfaces.Specs.Optimizer.Var.t array ->
        Lacaml.D.vec -> Gpr_interfaces.Specs.Eval.Input.t
    end
  module Inputs :
    sig
      val get_vars :
        Gpr_interfaces.Specs.Eval.Inputs.t ->
        Gpr_interfaces.Specs.Optimizer.Var.t array
      val get_value :
        Gpr_interfaces.Specs.Eval.Inputs.t ->
        Gpr_interfaces.Specs.Optimizer.Var.t -> float
      val set_values :
        Gpr_interfaces.Specs.Eval.Inputs.t ->
        Gpr_interfaces.Specs.Optimizer.Var.t array ->
        Lacaml.D.vec -> Gpr_interfaces.Specs.Eval.Inputs.t
    end
end