   Note that since the compiler also defines some additional metadata,
   there are a few reserved keys that will be ignored and warned if used.
   Currently these are: `:opaque` and `:defaults`.
+
+  Once this module is compiled, this information becomes available via
+  the `Code.fetch_docs/1` function.
 
   ### `@dialyzer`
 


  Accepts a string (often a heredoc) or `false` where `@moduledoc false`
  will make the module invisible to documentation extraction tools like
  ExDoc.

  Similarly to `@doc` also accepts a keyword list to provide metadata
  about the module. For more details, see the documentation of `@doc`
  above.

  ### `@on_definition`



  Accepts a string (often a heredoc) or `false` where `@doc false` will
  make the entity invisible to documentation extraction tools like
  [`ExDoc`](https://hexdocs.pm/ex_doc/). For example:

      defmodule MyModule do
        @typedoc "This type"
