public static Company FunctionalMerge(Company bigCompany, IEnumerable<Company> smallCompanies) { return smallCompanies.Aggregate(bigCompany, (buyer, seller) => buyer.Merge(seller)); }