Module Deepening

type 'move plan = {
  1. value : float;
  2. best : 'move option;
  3. depth : int;
  4. nodes : int;
}
type ('state, 'move) thinking
val start : ?order:('state -> 'move list -> 'move list) -> ?key:('state -> int64) -> ?table:'move Zobrist.table -> ('state, 'move) Minimax.game -> depth:int -> 'state -> ('state, 'move) thinking
val think : nodes:int -> ('state, 'move) thinking -> ('state, 'move) thinking
val plan : ('state, 'move) thinking -> 'move plan
val done_ : ('state, 'move) thinking -> bool