public bool Dealloc(GenIdx index)
        {
            var entry = Entries[index.Index];

            if (entry.Generation != index.Generation || !entry.Alive)
            {
                return(false);
            }
            Free.Push(index.Index);
            entry.Alive = false;
            return(true);
        }
 public T? this[GenIdx idx]
 {
     get => Allocator.Alive(idx) ? Backing[idx.Index].Value : default(T?);
        public bool Alive(GenIdx index)
        {
            var entry = Entries[index.Index];

            return(entry.Alive && entry.Generation == index.Generation);
        }