Generic Lambda

What does auto in a lambda parameter list actually become under the hood?

auto add = [](auto a, auto b) { return a + b; };