sig   type level   val older : Fcl_stak.level -> Fcl_stak.level -> bool   val size : unit -> int   val depth : unit -> int   val level : unit -> Fcl_stak.level   val levels : unit -> Fcl_stak.level list   val nb_choice_points : unit -> int   exception Level_not_found of Fcl_stak.level   val cut : Fcl_stak.level -> unit   exception Fail of string   val fail : string -> 'a   type 'a ref   val ref : '-> 'Fcl_stak.ref   val set : 'Fcl_stak.ref -> '-> unit   val get : 'Fcl_stak.ref -> 'a   type gl = { name : string; call : unit -> Fcl_stak.gl option; }   exception Empty_stack   val reset : unit -> unit   val save : Fcl_stak.gl list -> Fcl_stak.level   val backtrack : unit -> Fcl_stak.gl list   val backtrack_all : unit -> unit   val trail : (unit -> unit) -> unit   val cut_bottom : Fcl_stak.level -> unit   val unsafe_set : 'Fcl_stak.ref -> '-> unit end