private const ArenaFlags DefaultFlags = ArenaFlags.BlittableNonPaddedSharing; // good compromise betweeen perf and memory

        /// <summary>
        /// Create a new ArenaOptions instance
        /// </summary>
        public ArenaOptions(ArenaFlags flags = DefaultFlags, int blockSizeBytes = 0, Func <long, long, long> retentionPolicy = null)
        {
            Flags           = flags;
            BlockSizeBytes  = blockSizeBytes;
            RetentionPolicy = retentionPolicy;
        }
 internal bool HasFlag(ArenaFlags flag) => (Flags & flag) != 0;