dynamic open records
Module Orec . Univ
type 'a type_carrier =
| T

Helper type

type 'a witness

Unique type identifier with equality

type key

key type

val id : 'a witness -> key

Compute the value-level identifier associated to a type-level identifier

type binding =
| B : 'a witness * 'a -> binding

Bind together an 'a type-identifier with an 'a value

val extract : 'a witness -> binding -> 'a option

Try to extract an 'a value from a binding using the given type identifier

val extract_exn : 'a witness -> binding -> 'a
val create : unit -> 'a witness

Create a new type identifier