code: func (m *Maze) move(x, y int, dir Dir) (nx, ny int, ok bool) {
  	nx = x + dirs[dir].δx
  	ny = y + dirs[dir].δy
  	ok = 0 <= nx && nx < m.w && 0 <= ny && ny < m.h
  	return
  }
docs: // move returns the cell in the direction dir from position r, c.
  // It returns ok==false if there is no cell in that direction.