private List <MutableObject> DiscriminatedList(List <MutableObject> mutable)
        {
            var topLevelEntryListing = new List <MutableObject>();

            var entryLists = new Dictionary <int, List <MutableObject> >();

            foreach (var entry in Scope.GetEntries(mutable))
            {
                var discriminant = Discriminant.GetFirstValueBelowArrity(entry);

                if (!entryLists.ContainsKey(discriminant))
                {
                    var newMutable = new MutableObject();

                    var newList = new List <MutableObject>();

                    newMutable.Add("Entries", newList);

                    topLevelEntryListing.Add(newMutable);

                    entryLists[discriminant] = newList;
                }

                var foundList = entryLists[discriminant];

                foundList.Add(entry.Last());
            }

            return(topLevelEntryListing);
        }
        private List <MutableObject> DiscriminatedList(List <MutableObject> mutable)
        {
            var topLevelEntryListing = new List <MutableObject>();

            var inclusionString = CsvRangeOrKeyword.GetValue(mutable).Trim();

            var inclusionFunc = InclusionFunc(inclusionString);

            foreach (var entry in Scope.GetEntries(mutable))
            {
                var discriminant = Discriminant.GetFirstValueBelowArrity(entry);

                if (inclusionFunc(discriminant))
                {
                    topLevelEntryListing.Add(entry.Last());
                }
            }

            return(topLevelEntryListing);
        }