val create : ?sexp_of:('a ‑> Async.Sexp.t) ‑> string ‑> 'a tcreate ?sexp_of name creates a variable named name. The name is only
used for debugging and error printing purposes. Every variable is unique,
even if created with the same name.
val to_string : 'a t ‑> string