getGameState :: WD Board
getGameState = do
    board <- executeJS [] "return GameManager._instance.grid.cells.map(function(col) { return col.map(function(tile) { return tile ? tile.value : 0 }) })" :: WD Board
    return . transpose $ board
getGameState :: WD Board
getGameState = do
    board <- executeJS [] "return GameManager._instance.grid.cells.map(function(col) { return col.map(function(tile) { return tile ? tile.value : 0 }) })" :: WD Board
    return . transpose $ board
getGameState = do
    board <- executeJS [] "return GameManager._instance.grid.cells.map(function(col) { return col.map(function(tile) { return tile ? tile.value : 0 }) })" :: WD Board
    return . transpose $ board