The following functors preserve stability: if applied to stable types with stable (de)serializations, they will produce stable types with stable (de)serializations.
Note: In all cases, stability of the input (and therefore the output) depends on the semantics of all conversion functions (e.g. to_string, to_sexpable) not changing in the future.
module Of_sexpable : sig ... end
module Of_sexpable1 : sig ... end
module Of_sexpable2 : sig ... end
module Of_sexpable3 : sig ... end
module Of_stringable : sig ... end
module To_stringable : sig ... end