   - `callback` is a callback function
   - `options` is an option list
 
+  """ <> @options_doc <> ~S"""
+
   ## Examples
 
       iex> callback = fn (result) -> {:ok, result} end

  - `data` is either a string or a list
  - `options_or_callback` is either an option list or a callback function

  Options are passed as a list of atoms. For details see `Cmark.to_commonmark/2`.

  ## Examples


  @typedoc "A callback function which can return anything"
  @type callback_fun :: (function -> any)

  @typedoc "List of atoms (see `Cmark.to_html/1` for more information about options)"
  @type options_list :: [atom]

  @typedoc "Either an options list or a callback function"
  @type options_or_callback :: options_list | callback_fun

  @options_doc """
  Options are passed as a list of atoms. Available options are:

  * `:sourcepos` - Include a `data-sourcepos` attribute on all block elements.
