sig
  val set_timeout : float -> unit
  val cancel_timeout : unit -> unit
  val unfold_maximax :
    ?ab:bool ->
    Arena.game ->
    Formula.real_expr array array ->
    int GameTree.game_tree -> int GameTree.game_tree
  val unfold_maximax_upto :
    ?ab:bool ->
    int ->
    Arena.game ->
    Formula.real_expr array array ->
    int GameTree.game_tree * (Arena.move * Arena.game_state) list list ->
    int GameTree.game_tree * (Arena.move * Arena.game_state) list list
  val maximax_unfold_choose :
    ?check_stable:int ->
    int ->
    Arena.game ->
    Arena.game_state ->
    Formula.real_expr array array ->
    (Arena.move * Arena.game_state) list * float array
  val latest_unfold_iters_left : int Pervasives.ref
end