namespace Bitvault; public record Item(TValue? Value = default); public record Item { public Item(int id) { Id = id; } public Item() { } public static Item As(TValue value) => new(value); public static Item As() where TValue : new() => new(new TValue()); public int Id { get; } }