         end
       end
 
-  ### @moduledoc
-
-  Provides documentation for the current module, such as:
-
-      defmodule M do
+  ### `@moduledoc`
+
+  Provides documentation for the current module.
+
+      defmodule MyModule do
         @moduledoc """
-        A very useful module
+        A very useful module.
         """
       end
 
-  Accepts a string (which is often a heredoc) or `false` where
-  `@moduledoc false` will make the module invisible to the
+  Accepts a string (often a heredoc) or `false` where
+  `@moduledoc false` will make the module invisible to
   documentation extraction tools like ExDoc.
 
-  ### @on_definition
+  ### `@on_definition`
 
   A hook that will be invoked when each function or macro in the current
   module is defined. Useful when annotating functions.
 
-  Accepts a module or a tuple `{<module>, <function name>}`. See the
+  Accepts a module or a `{module, function_name}` tuple. See the
   "Compile callbacks" section below.
 
-  ### @on_load
+  ### `@on_load`
 
   A hook that will be invoked whenever the module is loaded.
 
-  Accepts an atom of a function name in the current module. The function
-  must have arity 0 (no arguments) and has to return `:ok`, otherwise the
-  loading of the module will be aborted. For example:
-
-      defmodule M do
+  Accepts the function name (as an atom) of a function in the current module.
+  The function must have arity 0 (no arguments) and has to return `:ok`, otherwise
+  the loading of the module will be aborted. For example:
+
+      defmodule MyModule do
         @on_load :load_check
 
         def load_check do


  ## Compile options

  The `@compile` attribute accepts diverse options that is used by both
  Elixir and Erlang compilers. Some of the common use cases are documented
  below:

    * `@compile :debug_info` - includes `:debug_info` regardless of the
      setting in `Code.compiler_options/1`

    * `@compile {:debug_info, false}` - disables `:debug_info` regardless
      of the setting in `Code.compiler_options/1`

    * `@compile {:inline, some_fun: 2, other_fun: 3}` - inlines the given
      name/arity pairs

  If the behaviour changes or `URI.HTTP` does not implement
  one of the callbacks, a warning will be raised.

  ### `@compile`

  Defines options for module compilation. This is used to configure
  both Elixir and Erlang compilers, as any other compilation pass
  added by external tools. For example:

      defmodule MyModule do
        @compile {:inline, my_fun: 1}

        def my_fun(arg) do
