sig
  type diag
  type cross
  val calc_shared_diag :
    Eval.Kernel.t ->
    Gpr_interfaces.Specs.Eval.Inputs.t ->
    Lacaml.D.vec * Gpr_interfaces.Specs.Deriv.Inputs.diag
  val calc_shared_cross :
    Eval.Kernel.t ->
    inputs:Gpr_interfaces.Specs.Eval.Inputs.t ->
    inducing:Gpr_interfaces.Specs.Eval.Inducing.t ->
    Lacaml.D.mat * Gpr_interfaces.Specs.Deriv.Inputs.cross
  val calc_deriv_diag :
    Gpr_interfaces.Specs.Deriv.Inputs.diag ->
    Gpr_interfaces.Specs.Deriv.Hyper.t -> Gpr_interfaces.diag_deriv
  val calc_deriv_cross :
    Gpr_interfaces.Specs.Deriv.Inputs.cross ->
    Gpr_interfaces.Specs.Deriv.Hyper.t -> Gpr_interfaces.mat_deriv
end