Could avoid this expensive digest by giving singletons a random id on creation.