Module type HashCons.SERVICE

A hash-consing service allocates uniquely-numbered cells for data. The smart constructor make either allocates a fresh cell or returns an existing cell, as appropriate.

type data
val make : data -> data cell