public int AvaliableOfType(Gem gem) => gems.Count(x => x == gem);
public int TotalGemsOfType(Gem gem) => price.OfType(gem);
private int Missing(Gem gem) => Math.Max(0, WouldSpend(gem) - player.TotalGems(gem));
private int WouldSpend(Gem gem) => Math.Max(0, development.TotalGemsOfType(gem) - player.Bonus(gem));
public int OfType(Gem gem) => gems.Count(x => x == gem);
public SingularGemNames(Gem gem) { this.gem = gem; }
public PluralGemNames(Gem gem) { this.gem = gem; }