auto f = (int x) { return foo(x, x); };
auto g = new class { auto opCall(T)(T x) const { return foo(x, x); } };

別にライブラリなくても、この程度で済むからな