In the previous two recipes, we got a list of functions, including overloads and signatures in the form of types. To do really interesting things with function reflection, we need to dig into the details, isolating the return type and function parameters.
Let's execute the following steps to determine names, types, and default values of function parameters:
std.traits. The Phobos module makes the task easier and is much more readable than the direct implementation.