Comment_attachment.comment_bounds_collector constraint 'a = Js_parser.Loc.tinherit Js_parser.Flow_ast_mapper.mapperval mutable first_leading : (Js_parser.Loc.t * Js_parser__Flow_ast.Comment.t')
                              optionval mutable last_trailing : (Js_parser.Loc.t * Js_parser__Flow_ast.Comment.t')
                              optionmethod comment_bounds : 'a comment_bounds_collector ->
  (Js_parser.Loc.t * Js_parser__Flow_ast.Comment.t') option
  * (Js_parser.Loc.t * Js_parser__Flow_ast.Comment.t') optionmethod collect_comments : 'b ->
  'internal. (Js_parser.Loc.t, 'internal) Js_parser.Flow_ast.Syntax.t ->
  unitmethod collect_comments_opt : 'b ->
  (Js_parser.Loc.t, Js_parser.Loc.t Js_parser__Flow_ast.Comment.t list)
    Js_parser.Flow_ast.Syntax.t
    option ->
  unitmethod visit_leading_comment : 'b ->
  Js_parser.Loc.t Js_parser__Flow_ast.Comment.t ->
  unitmethod visit_trailing_comment : 'b ->
  Js_parser.Loc.t Js_parser__Flow_ast.Comment.t ->
  unitmethod syntax : 'b ->
  'internal. (Js_parser.Loc.t, 'internal)
               Js_parser.Flow_ast_mapper.Ast.Syntax.t ->
  (Js_parser.Loc.t, 'internal) Js_parser.Flow_ast_mapper.Ast.Syntax.t