Module Tjr_lib_core.Singleton_type

The type of singleton types.

Use as:

Make(struct type t = int val witness = -1 end)

to get a new type sng_t and a value sealed_witness of type (sng_t,int)sng

Useful for reflecting type dependencies on values into the type.

module Internal : sig ... end
include Internal
type ('a, 'b) sng
val dest_sng : ('a'b) sng -> 'b
module Make = Internal.Make