sig
  type pos = int * int
  type 'a grid = 'a array array
  type dir = N | NE | SE | S | SW | NW
  val all_directions : Hex.dir list
  type move = Hex.dir * int
  val move : Hex.pos -> Hex.dir -> Hex.pos
  val move_n : Hex.pos -> Hex.move -> Hex.pos
  val pp_char_grid : Stdlib.Format.formatter -> char Hex.grid -> unit
  val pp_bool_grid : Stdlib.Format.formatter -> bool Hex.grid -> unit
  val pp_solution :
    Stdlib.Format.formatter -> bool Hex.grid -> Hex.pos array -> unit
  val from_channel : Stdlib.in_channel -> Hex.pos * bool Hex.grid
end