#define F this->operator()
struct A { template<typename T, class F> static void call(T val, F function) { } };