identifiable library

Mixins

Identifiable<I>
Entities are VALUES: folds produce new instances; a mutated entity corrupts before/after events and optimistic refolds — enforced here for every class that wears the mixin.

Typedefs

IdentifiableMap<K, E extends Identifiable<K>> = Map<K, E>
Identity = Identifiable<String>
IdentityMap<T extends Identity> = Map<String, T>