With_text.t is a value paired with the full textual representation of its sexp.
This is useful for dealing with the case where you want to keep track of a value along
with the format of the s-expression it was generated from, which allows you to
maintain formatting details, comments, etc.
The s-expression representation of a
With_text.t is the raw text, stored as an atom.
The bin_io representation contains both the bin_io of the underlying value and the
bin_io'd version of the raw text.
This is similar to but simpler than the
With_layout module included above (via
Sexp_intf.S), which gives you access to a fully parsed version of the s-expression,
with attached comments and layout information, to allow you to build layout-preserving
The invariants of a
x With_text.t are broken if the
x value is mutated.