Module Simulator.Unique

module type T = sig ... end

Wrapper for a value.

module type Unique = sig ... end

Signature of the unique module. Purpose is to get a unique identifier for any value of type v.

module Make (T : T) : Unique with type v = T.v

Create an implementation for Unique, given a wrapper T for a type of values.