     * `:type_docs` - list of all docstrings attached to
       `@type` callbacks using the `@typedoc` attribute
 
-    * `:all` - a keyword list with both `:docs` and `:moduledoc`
+    * `:all` - a keyword list with `:docs` and `:moduledoc`, `:callback_docs`,
+      and `:type_docs`.
+
+  If the module cannot be found, it returns `nil`.
 
   ## Examples
 

      iex> String.split(text, "\n") |> Enum.at(0)
      "Converts an atom to a char list."

  """
  def get_docs(module, kind) when is_atom(module) do
    case :code.get_object_code(module) do
      {_module, bin, _beam_path} ->
        do_get_docs(bin, kind)

    end
  end

  def get_docs(binpath, kind) when is_binary(binpath) and kind in @doc_kinds do
    do_get_docs(String.to_char_list(binpath), kind)
  end

