mut-counter[k] record (has private fields)
list-new[k] k mut-counter(a k[]) k keyto[k] k mut-counter(values k[]) k keymove-to[k] nat64 mut[k](a k mut-counter) k keysubscript[k] nat64(a k mut-counter, value k) k key~=[k] void(a k mut-counter, value k) k keysome[k] bool(a k mut-counter, f bool mut((k, nat64))) k key