sig
  type docstring
  val docstring : string -> Location.t -> Ast_404.??.docstring
  val docstring_body : Ast_404.??.docstring -> string
  val docstring_loc : Ast_404.??.docstring -> Location.t
  type docs = {
    docs_pre : Ast_404.??.docstring option;
    docs_post : Ast_404.??.docstring option;
  }
  val empty_docs : Ast_404.??.docs
  val docs_attr : Ast_404.??.docstring -> Ast_404.Parsetree.attribute
  val add_docs_attrs :
    Ast_404.??.docs ->
    Ast_404.Parsetree.attributes -> Ast_404.Parsetree.attributes
  type info = Ast_404.??.docstring option
  val empty_info : Ast_404.??.info
  val info_attr : Ast_404.??.docstring -> Ast_404.Parsetree.attribute
  val add_info_attrs :
    Ast_404.??.info ->
    Ast_404.Parsetree.attributes -> Ast_404.Parsetree.attributes
  type text = Ast_404.??.docstring list
  val empty_text : Ast_404.??.text
  val text_attr : Ast_404.??.docstring -> Ast_404.Parsetree.attribute
  val add_text_attrs :
    Ast_404.??.text ->
    Ast_404.Parsetree.attributes -> Ast_404.Parsetree.attributes
end