sig
  val make :
    ?init:(unit -> unit) ->
    ?setup:('-> '-> unit) ->
    ?set_lsetup_fn:('Sundials_NonlinearSolver.lsetupfn -> unit) ->
    ?set_lsolve_fn:((('d, 'k) Nvector.t, 's)
                    Sundials_NonlinearSolver.lsolvefn -> unit) ->
    ?set_convtest_fn:(('d, 's, [ `Nvec ]) Sundials_NonlinearSolver.convtestfn ->
                      unit) ->
    ?set_max_iters:(int -> unit) ->
    ?set_info_file:(Sundials.Logfile.t -> unit) ->
    ?set_print_level:(int -> unit) ->
    ?get_num_iters:(unit -> int) ->
    ?get_cur_iter:(unit -> int) ->
    ?get_num_conv_fails:(unit -> int) ->
    nls_type:Sundials_NonlinearSolver.nonlinear_solver_type ->
    solve:('-> '-> '-> float -> bool -> '-> unit) ->
    set_sys_fn:((('d, 'k) Nvector.t, 's) Sundials_NonlinearSolver.sysfn ->
                unit) ->
    ?context:Sundials.Context.t ->
    unit -> ('d, 'k, 's, [ `Nvec ]) Sundials_NonlinearSolver.t
  val make_sens :
    ?init:(unit -> unit) ->
    ?setup:(('d, 'k) Sundials_NonlinearSolver.Senswrapper.t -> '-> unit) ->
    ?set_lsetup_fn:('Sundials_NonlinearSolver.lsetupfn -> unit) ->
    ?set_lsolve_fn:((('d, 'k) Sundials_NonlinearSolver.Senswrapper.t, 's)
                    Sundials_NonlinearSolver.lsolvefn -> unit) ->
    ?set_convtest_fn:((('d, 'k) Sundials_NonlinearSolver.Senswrapper.t, 's,
                       [ `Sens ])
                      Sundials_NonlinearSolver.convtestfn -> unit) ->
    ?set_max_iters:(int -> unit) ->
    ?set_info_file:(Sundials.Logfile.t -> unit) ->
    ?set_print_level:(int -> unit) ->
    ?get_num_iters:(unit -> int) ->
    ?get_cur_iter:(unit -> int) ->
    ?get_num_conv_fails:(unit -> int) ->
    nls_type:Sundials_NonlinearSolver.nonlinear_solver_type ->
    solve:(('d, 'k) Sundials_NonlinearSolver.Senswrapper.t ->
           ('d, 'k) Sundials_NonlinearSolver.Senswrapper.t ->
           ('d, 'k) Sundials_NonlinearSolver.Senswrapper.t ->
           float -> bool -> '-> unit) ->
    set_sys_fn:((('d, 'k) Sundials_NonlinearSolver.Senswrapper.t, 's)
                Sundials_NonlinearSolver.sysfn -> unit) ->
    ?context:Sundials.Context.t ->
    unit -> ('d, 'k, 's, [ `Sens ]) Sundials_NonlinearSolver.t
end