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