export interface Immutable { onMutate(newObj: Immutable): void; withMutation(fn: (obj: T) => void): Immutable; }