private static IImmutableSeq <IAlterer <TGene, TAllele> > Normalize(ISeq <IAlterer <TGene, TAllele> > alterers) { return(alterers.SelectMany( delegate(IAlterer <TGene, TAllele> a) { return a is CompositeAlterer <TGene, TAllele> ?(a as CompositeAlterer <TGene, TAllele>).Alterers : Enumerable.Repeat(a, 1); }).ToList().ToImmutableSeq()); }
private static IImmutableSeq <IAlterer <TGene, TAllele> > Normalize(ISeq <IAlterer <TGene, TAllele> > alterers) { IEnumerable <IAlterer <TGene, TAllele> > Mapper(IAlterer <TGene, TAllele> a) { return(a is CompositeAlterer <TGene, TAllele> alterer ? alterer.Alterers : Enumerable.Repeat(a, 1)); } return(alterers.SelectMany(Mapper).ToList().ToImmutableSeq()); }