sig   val resolve :     ?verbose:bool ->     OpamState.state ->     OpamTypes.user_action ->     orphans:OpamTypes.package_set ->     OpamTypes.atom OpamTypes.request ->     (OpamSolver.solution, OpamCudf.conflict) OpamTypes.result   val apply :     ?ask:bool ->     OpamState.state ->     OpamTypes.user_action ->     requested:OpamPackage.Name.Set.t ->     OpamSolver.solution -> OpamTypes.solver_result   val resolve_and_apply :     ?ask:bool ->     OpamState.state ->     OpamTypes.user_action ->     requested:OpamPackage.Name.Set.t ->     orphans:OpamTypes.package_set ->     OpamTypes.atom OpamTypes.request -> OpamTypes.solver_result   val check_solution : OpamState.state -> OpamTypes.solver_result -> unit   val eq_atom : OpamTypes.name -> OpamTypes.version -> OpamTypes.atom   val atom_of_package : OpamTypes.package -> OpamTypes.atom   val eq_atom_of_package : OpamTypes.package -> OpamTypes.atom   val atoms_of_packages : OpamTypes.package_set -> OpamTypes.atom list   val eq_atoms_of_packages : OpamTypes.package_set -> OpamTypes.atom list   val check_availability :     ?permissive:bool ->     OpamState.state -> OpamPackage.Set.t -> OpamTypes.atom list -> unit   val sanitize_atom_list :     ?permissive:bool ->     OpamState.state -> OpamTypes.atom list -> OpamTypes.atom list   val sum : OpamTypes.stats -> int end