sig
  type token =
      STRING of (string * (Lexing.position * string) option)
    | COMMENT of (string * Lexing.position option)
    | LPAREN
    | RPAREN
    | EOF
    | HASH_SEMI
  val sexp :
    (Lexing.lexbuf -> Parser_with_layout.token) ->
    Lexing.lexbuf -> Type_with_layout.t_or_comment
  val sexp_opt :
    (Lexing.lexbuf -> Parser_with_layout.token) ->
    Lexing.lexbuf -> Type_with_layout.t_or_comment option
  val sexps :
    (Lexing.lexbuf -> Parser_with_layout.token) ->
    Lexing.lexbuf -> Type_with_layout.t_or_comment list
  val sexps_abs :
    (Lexing.lexbuf -> Parser_with_layout.token) ->
    Lexing.lexbuf -> Type_with_layout.Parsed.t_or_comment list
  val rev_sexps :
    (Lexing.lexbuf -> Parser_with_layout.token) ->
    Lexing.lexbuf -> Type_with_layout.t_or_comment list
end