displayln uses the massive _Generic in display_format to supply a large number of formatters automatically. [0]
[0] https://gist.github.com/shakna-israel/4fd31ee469274aa49f8f97...
[0] https://gist.github.com/shakna-israel/4fd31ee469274aa49f8f97...
printf("%p\n", v);
the Generic call must look like this displayln((const void *)v);
is it really better? void* v;
v = ...;
...
displayln(v);