Implicit and dynamic parameters are proposed as a general means to reduce the length of argument lists of function calls without
resorting to dangerous global variables. In C++, these new kinds of parameters constitute a generalization of parameters with
default arguments, whose values can be omitted in function calls. In contrast to the latter, however, the values of implicit
and dynamic parameters are not obtained from a function’s definition context, but rather from its different calling contexts.
This is in turn similar to so-called dependent names in function templates, but offers a higher degree of flexibility and
comprehensibility.