The latest revision to the C++ standard, including polymorphic lambdas, makes the xplusone definition much terser:
auto xplusone = [](auto x){ return x + 1; };
While at it, here's how Paul Graham's accumulator generator looks in C++14: auto foo = [](auto n){ return [=](auto i) mutable { return n += i; }; };
This does not affect the point of the article in any major way; just a curiosity.