sig
  type 'a t
  val return : 'a -> 'a Sexp_intf.S.With_layout.Render.t
  val bind :
    'a Sexp_intf.S.With_layout.Render.t ->
    ('a -> 'b Sexp_intf.S.With_layout.Render.t) ->
    'b Sexp_intf.S.With_layout.Render.t
  val sexp :
    Sexp_intf.S.With_layout.t_or_comment ->
    unit Sexp_intf.S.With_layout.Render.t
  val run : (char -> unit) -> unit Sexp_intf.S.With_layout.Render.t -> unit
end