Module Sexp_with_layout.Render
module Rel_pos = Src_pos.Relativemodule Abs_pos = Src_pos.Absolutetype last_atom={immed_after : Abs_pos.t;unescaped : bool;}type state={mutable row_shift : Rel_pos.t;mutable current : Abs_pos.t;mutable last_atom : last_atom option;mutable last_comment_row : int;}type 'a t= (char -> unit) -> state -> 'a
val return : 'a -> 'b -> 'c -> 'aval bind : ('a -> 'b -> 'c) -> f:('c -> 'a -> 'b -> 'd) -> 'a -> 'b -> 'dval run : 'a -> ('a -> state -> 'b) -> 'bval emit_char : (char -> 'a) -> state -> char -> unitval emit_string : (char -> 'a) -> state -> string -> unitval emit_chars : (char -> 'a) -> state -> char -> n:int -> unitval advance : (char -> 'a) -> anchor:Abs_pos.t -> state -> by:Sexplib__Src_pos.Relative.t -> unescaped_atom:bool -> line_comment:bool -> unitval render_t : (char -> 'a) -> anchor:Abs_pos.t -> state -> t -> unitval render_toc : (char -> 'a) -> anchor:Abs_pos.t -> state -> t_or_comment -> unitval render_c : (char -> 'a) -> anchor:Abs_pos.t -> state -> comment -> unitval render : t_or_comment -> (char -> 'a) -> state -> unitval sexp : t_or_comment -> (char -> 'a) -> state -> unit