type dir = | Up| Down| Left| Right| Stop
val delta : dir -> int * inttype grid = {tile : int;cols : int;rows : int;
}type mover = {gx : int;gy : int;dir : dir;wanted : dir;
}val move_player : grid -> open_:((int * int) -> bool) -> int -> mover -> mover