     render(board.grid)
   end
 
-  @spec render(Grid.t | nil) :: String.t
+  @spec render(nil | Grid.t) :: String.t
   defp render(nil), do: "#Board<[]>"
   defp render(grid) do
     indent = 2


  @doc """
  Places a bomb on `count` number of randomly selected board squares.
  """
  @spec place_random_bombs(pid, pos_integer) :: :ok
  def place_random_bombs(pid, count \\ @bomb_count) do

    }
  end

  @doc """
  Retrieves the board's state from the given process.
  """
  @spec get(pid) :: t
  def get(pid) do
    Agent.get(pid, &(&1))
  end

  @doc """
  Stores the state of `board` in the given process.
  """
  @spec set(t, pid) :: :ok
  def set(board, pid) do
    Agent.update(pid, fn _ -> board end)
  end

  @doc """
  Returns the size of the game board.

  The "size", is the number of squares along a single dimension of the board.
  """
  @spec size(pid) :: pos_integer
  def size(pid) do
    Agent.get(pid, fn board ->
