example.append('''
int a1 = deduce_arg_types((_name = "foo"));
int a2 = deduce_arg_types((_name = "foo", _index = 3));

int main()
{
    assert(a1 == 42);
    assert(a2 == 3);
}''') -->
<!-- @test('run') -->
<p>Occasionally one needs to deduce argument types without an extra
layer of function call.  For example, suppose we wanted to return
twice the value of the <tt class="docutils literal">index</tt> parameter?  In that
case we can use the <tt class="docutils literal">value_type&lt; … &gt;</tt> metafunct