- epvector::const_iterator it = seq.begin(), itend = seq.end();
- while (it != itend) {
- newseq.push_back(expair(it->rest.subs(m, options), it->coeff));
- ++it;
- }
- return (new pseries(relational(var,point.subs(m, options)), newseq))->setflag(status_flags::dynallocated);
+ for (auto & it : seq)
+ newseq.push_back(expair(it.rest.subs(m, options), it.coeff));
+ return dynallocate<pseries>(relational(var,point.subs(m, options)), std::move(newseq));