I see. So when for a char pointer one needs to do
printf("%p\n", v);
the Generic call must look like this displayln((const void *)v);
is it really better?