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.
make
type data
val make : data -> data cell