\section{Module \ocamlinlinecode{Toplevel\_\allowbreak{}comments}}\label{Toplevel_comments}%
A doc comment at the beginning of a module is considered to be that module's doc.

\label{Toplevel_comments--module-type-T}\ocamlcodefragment{\ocamltag{keyword}{module} \ocamltag{keyword}{type} \hyperref[Toplevel_comments-module-type-T]{\ocamlinlinecode{T}}}\label{Toplevel_comments-module-type-T}\ocamlcodefragment{ = \ocamltag{keyword}{sig}}\begin{ocamlindent}\label{Toplevel_comments-module-type-T--type-t}\ocamlcodefragment{\ocamltag{keyword}{type} t}\\
\end{ocamlindent}%
\ocamlcodefragment{\ocamltag{keyword}{end}}\begin{ocamlindent}Doc of \ocamlinlinecode{T}, part 1.\end{ocamlindent}%
\medbreak
\label{Toplevel_comments--module-Include_inline}\ocamlcodefragment{\ocamltag{keyword}{module} \hyperref[Toplevel_comments-Include_inline]{\ocamlinlinecode{Include\_\allowbreak{}inline}}}\label{Toplevel_comments-Include_inline}\ocamlcodefragment{ : \ocamltag{keyword}{sig}}\begin{ocamlindent}\ocamltag{keyword}{include} \hyperref[Toplevel_comments-module-type-T]{\ocamlinlinecode{T}}\label{Toplevel_comments-Include_inline--type-t}\ocamlcodefragment{\ocamltag{keyword}{type} t}\\
\end{ocamlindent}%
\ocamlcodefragment{\ocamltag{keyword}{end}}\begin{ocamlindent}Doc of \ocamlinlinecode{T}, part 2.\end{ocamlindent}%
\medbreak
\label{Toplevel_comments--module-Include_inline'}\ocamlcodefragment{\ocamltag{keyword}{module} \hyperref[Toplevel_comments-Include_inline']{\ocamlinlinecode{Include\_\allowbreak{}inline'}}}\label{Toplevel_comments-Include_inline'}\ocamlcodefragment{ : \ocamltag{keyword}{sig}}\begin{ocamlindent}part 3\ocamltag{keyword}{include} \hyperref[Toplevel_comments-module-type-T]{\ocamlinlinecode{T}}\label{Toplevel_comments-Include_inline'--type-t}\ocamlcodefragment{\ocamltag{keyword}{type} t}\\
\end{ocamlindent}%
\ocamlcodefragment{\ocamltag{keyword}{end}}\begin{ocamlindent}Doc of \ocamlinlinecode{Include\_\allowbreak{}inline}, part 1.\end{ocamlindent}%
\medbreak
\label{Toplevel_comments--module-type-Include_inline_T}\ocamlcodefragment{\ocamltag{keyword}{module} \ocamltag{keyword}{type} \hyperref[Toplevel_comments-module-type-Include_inline_T]{\ocamlinlinecode{Include\_\allowbreak{}inline\_\allowbreak{}T}}}\label{Toplevel_comments-module-type-Include_inline_T}\ocamlcodefragment{ = \ocamltag{keyword}{sig}}\begin{ocamlindent}\ocamltag{keyword}{include} \hyperref[Toplevel_comments-module-type-T]{\ocamlinlinecode{T}}\label{Toplevel_comments-module-type-Include_inline_T--type-t}\ocamlcodefragment{\ocamltag{keyword}{type} t}\\
\end{ocamlindent}%
\ocamlcodefragment{\ocamltag{keyword}{end}}\begin{ocamlindent}Doc of \ocamlinlinecode{T}, part 2.\end{ocamlindent}%
\medbreak
\label{Toplevel_comments--module-type-Include_inline_T'}\ocamlcodefragment{\ocamltag{keyword}{module} \ocamltag{keyword}{type} \hyperref[Toplevel_comments-module-type-Include_inline_T']{\ocamlinlinecode{Include\_\allowbreak{}inline\_\allowbreak{}T'}}}\label{Toplevel_comments-module-type-Include_inline_T'}\ocamlcodefragment{ = \ocamltag{keyword}{sig}}\begin{ocamlindent}part 3\ocamltag{keyword}{include} \hyperref[Toplevel_comments-module-type-T]{\ocamlinlinecode{T}}\label{Toplevel_comments-module-type-Include_inline_T'--type-t}\ocamlcodefragment{\ocamltag{keyword}{type} t}\\
\end{ocamlindent}%
\ocamlcodefragment{\ocamltag{keyword}{end}}\begin{ocamlindent}Doc of \ocamlinlinecode{Include\_\allowbreak{}inline\_\allowbreak{}T'}, part 1.\end{ocamlindent}%
\medbreak
\label{Toplevel_comments--module-M}\ocamlcodefragment{\ocamltag{keyword}{module} \hyperref[Toplevel_comments-M]{\ocamlinlinecode{M}}}\label{Toplevel_comments-M}\ocamlcodefragment{ : \ocamltag{keyword}{sig}}\begin{ocamlindent}\end{ocamlindent}%
\ocamlcodefragment{\ocamltag{keyword}{end}}\begin{ocamlindent}Doc of \ocamlinlinecode{M}\end{ocamlindent}%
\medbreak
\label{Toplevel_comments--module-M'}\ocamlcodefragment{\ocamltag{keyword}{module} \hyperref[Toplevel_comments-M']{\ocamlinlinecode{M'}}}\label{Toplevel_comments-M'}\ocamlcodefragment{ : \ocamltag{keyword}{sig}}\begin{ocamlindent}\end{ocamlindent}%
\ocamlcodefragment{\ocamltag{keyword}{end}}\begin{ocamlindent}Doc of \ocamlinlinecode{M'} from outside\end{ocamlindent}%
\medbreak
\label{Toplevel_comments--module-M''}\ocamlcodefragment{\ocamltag{keyword}{module} \hyperref[Toplevel_comments-M'']{\ocamlinlinecode{M''}}}\label{Toplevel_comments-M''}\ocamlcodefragment{ : \ocamltag{keyword}{sig}}\begin{ocamlindent}\end{ocamlindent}%
\ocamlcodefragment{\ocamltag{keyword}{end}}\begin{ocamlindent}Doc of \ocamlinlinecode{M''}, part 1.\end{ocamlindent}%
\medbreak
\label{Toplevel_comments--module-Alias}\ocamlcodefragment{\ocamltag{keyword}{module} \hyperref[Toplevel_comments-Alias]{\ocamlinlinecode{Alias}}}\ocamlcodefragment{ : \hyperref[Toplevel_comments-module-type-T]{\ocamlinlinecode{T}}}\begin{ocamlindent}Doc of \ocamlinlinecode{Alias}.\end{ocamlindent}%
\medbreak
\label{Toplevel_comments--class-c1}\ocamlcodefragment{\ocamltag{keyword}{class} \hyperref[Toplevel_comments-class-c1]{\ocamlinlinecode{c1}}}\ocamlcodefragment{ : int \ocamltag{arrow}{$\rightarrow$} \ocamltag{keyword}{object} .\allowbreak{}.\allowbreak{}.\allowbreak{} \ocamltag{keyword}{end}}\begin{ocamlindent}Doc of \ocamlinlinecode{c1}, part 1.\end{ocamlindent}%
\medbreak
\label{Toplevel_comments--class-type-ct}\ocamlcodefragment{\ocamltag{keyword}{class} \ocamltag{keyword}{type}  \hyperref[Toplevel_comments-class-type-ct]{\ocamlinlinecode{ct}}}\label{Toplevel_comments-class-type-ct}\ocamlcodefragment{ = \ocamltag{keyword}{object}}\begin{ocamlindent}\end{ocamlindent}%
\ocamlcodefragment{\ocamltag{keyword}{end}}\begin{ocamlindent}Doc of \ocamlinlinecode{ct}, part 1.\end{ocamlindent}%
\medbreak
\label{Toplevel_comments--class-c2}\ocamlcodefragment{\ocamltag{keyword}{class} \hyperref[Toplevel_comments-class-c2]{\ocamlinlinecode{c2}}}\ocamlcodefragment{ : \hyperref[Toplevel_comments-class-type-ct]{\ocamlinlinecode{ct}}}\begin{ocamlindent}Doc of \ocamlinlinecode{c2}.\end{ocamlindent}%
\medbreak
\label{Toplevel_comments--module-Ref_in_synopsis}\ocamlcodefragment{\ocamltag{keyword}{module} \hyperref[Toplevel_comments-Ref_in_synopsis]{\ocamlinlinecode{Ref\_\allowbreak{}in\_\allowbreak{}synopsis}}}\label{Toplevel_comments-Ref_in_synopsis}\ocamlcodefragment{ : \ocamltag{keyword}{sig}}\begin{ocamlindent}\label{Toplevel_comments-Ref_in_synopsis--type-t}\ocamlcodefragment{\ocamltag{keyword}{type} t}\\
\end{ocamlindent}%
\ocamlcodefragment{\ocamltag{keyword}{end}}\begin{ocamlindent}\hyperref[Toplevel_comments-Ref_in_synopsis--type-t]{\ocamlinlinecode{\ocamlinlinecode{t}}[p\pageref*{Toplevel_comments-Ref_in_synopsis--type-t}]}.\end{ocamlindent}%
\medbreak
\label{Toplevel_comments--module-Comments_on_open}\ocamlcodefragment{\ocamltag{keyword}{module} \hyperref[Toplevel_comments-Comments_on_open]{\ocamlinlinecode{Comments\_\allowbreak{}on\_\allowbreak{}open}}}\label{Toplevel_comments-Comments_on_open}\ocamlcodefragment{ : \ocamltag{keyword}{sig}}\begin{ocamlindent}\label{Toplevel_comments-Comments_on_open--module-M}\ocamlcodefragment{\ocamltag{keyword}{module} \hyperref[Toplevel_comments-Comments_on_open-M]{\ocamlinlinecode{M}}}\label{Toplevel_comments-Comments_on_open-M}\ocamlcodefragment{ : \ocamltag{keyword}{sig}}\begin{ocamlindent}\label{Toplevel_comments-Comments_on_open-M--type-t}\ocamlcodefragment{\ocamltag{keyword}{type} t}\\
\end{ocamlindent}%
\ocamlcodefragment{\ocamltag{keyword}{end}}\\
\subsubsection{Section\label{Toplevel_comments-Comments_on_open--sec}}%
Comments attached to open are treated as floating comments. Referencing \hyperref[Toplevel_comments-Comments_on_open--sec]{\ocamlinlinecode{Section}[p\pageref*{Toplevel_comments-Comments_on_open--sec}]} \hyperref[Toplevel_comments-Comments_on_open-M--type-t]{\ocamlinlinecode{\ocamlinlinecode{M.\allowbreak{}t}}[p\pageref*{Toplevel_comments-Comments_on_open-M--type-t}]} works

\end{ocamlindent}%
\ocamlcodefragment{\ocamltag{keyword}{end}}\\

\input{Toplevel_comments.Alias.tex}
\input{Toplevel_comments.c1.tex}
\input{Toplevel_comments.c2.tex}
