Module Ecaml_value.Caml_embed

type t
val lookup_by_id_exn : Ecaml_value__.Caml_embedded_id.t -> 'a Core_kernel.Type_equal.Id.t -> 'a
val initialize : unit
val debug_sexp : unit -> Core_kernel.Sexp.t
val create_type : 'a Core_kernel.Type_equal.Id.t -> 'a Value.Type.t

Embed values of an arbitrary OCaml type 'a in an Elisp value. The values are not transformed, so this can be used to preserve state in Emacs. More precisely, the following returns true:

let var = Var.create symbol (Caml_embed.create_type type_id) in
Current_buffer.set_value var v;
phys_equal v (Current_buffer.value_exn var)