   > Note: in practice you would not define a counter as a GenServer. Instead,
   > if you need a counter, you would pass it around as inputs and outputs to
   > the functions that need it. The reason we picked a counter in this example
-  > is due to its simplicity, as it allows us to focus on how Supervisors work.
+  > is due to its simplicity, as it allows us to focus on how supervisors work.
 
       defmodule Counter do
         use GenServer

  section in the `GenServer` module docs.
  """

  # It is important to keep the two-arity spec because it is a catch
  # all to start_link(children, options).
  @spec start_link(module, term) :: on_start
  @spec start_link(module, term, [option]) :: on_start
  def start_link(module, init_arg, options \\ []) when is_list(options) do

  For a more complete understanding of the exit reasons and their
  impact, see the "Exit reasons and restarts" section.

  ## `child_spec/1` function

  When starting a supervisor, we may pass a list of child specifications. Those
  specifications are maps that tell how the supervisor should start, stop and
  restart each of its children:

