private static IEnumerable<DynamicPropertyResult> CountPropertyCalculator_new(IQueryContext context, Name x)
{
var set = context.AskPossibleProperties(x).ToList();
Name count = Name.BuildName(set.Count);
IEnumerable<SubstitutionSet> sets;
if (set.Count == 0)
sets = context.Constraints;
else
sets = set.SelectMany(s => s.Item2).Distinct();
foreach (var d in sets)
yield return new DynamicPropertyResult(count, d);
}