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