public override IPersistentMap assocEx(object key, object val) { Box found = new Box(null); Node t = Add(_tree, key, val, found); if (t == null) throw new Exception("Key already present"); return new PersistentTreeMap(_comp, t.Blacken(), _count + 1, meta()); }