Determine return type of device lambda from host code

In host code, a device lambda gets replaced with something like this:

// [] __device__ { return 3; }
auto tag = __nv_dl_tag<int (*)(void),(& ::main),1> {};
auto lambda = __nv_dl_wrapper_t<decltype(tag)>(tag);

I would like to, in host code, examine the function signature of the original device lambda, for instance to determine its return type. As a simple example, this code lets me declare a variable ‘result’ as whatever type the compiler infers the lambda to return:

auto f = [] { return 3; }
decltype(f()) result = f();

Is it possible to do something like this with a device lambda from host code?