Module Solver.Make

module Make: S 
A best-first puzzle solver.

val solve : Puzzle.state -> Puzzle.move list option
Given an initial state s, output a sequence [m1; m2; ...] that when applied to s in order, produces a goal state.

Returns None if there is no path to a goal.