template <class X> X identify(X);
typedef decltype(identify([](){}) type;

試したことはない