Module Stable_witness.Of_serializable1Source

Parameters

module Stable_format : T1
module M : T1

Signature

Sourceval of_serializable : ('a t -> 'a Stable_format.t t) -> ('a Stable_format.t -> 'a M.t) -> ('a M.t -> 'a Stable_format.t) -> 'a t -> 'a M.t t

This is the analogue of of_serializable for types with 1 type parameter, e.g. 'a M.t.

An example usage would look something like this:

  let stable_witness (type a) : a Stable_witness.t -> a M.t Stable_witness.t =
    fun witness ->
    let module Stable_witness =
      Stable_witness.Of_serializable1 (Stable_format) (M)
    in
    Stable_witness.of_serializable
      Stable_format.stable_witness
      M.of_stable_format
      M.to_stable_format
      witness
  ;;