I think the problem it was trying to solve has been solved differently (by explicitly passing the print state in the print.c code, for instance), and can easily be solved differently. > In the meantime, I can make struct printers be aware of the > distinction and handle being passed port-with-print-state ports. Do you actually need this associated state? My first feeling is that we should deprecate and eventually remove this API, given that it’s essentially unused and non-functional. What do people think? > P.S. How come scm_put[cs]_unlocked are inlined in ports.h? What’s wrong with that? (It probably doesn’t help much because scm_lfwrite_unlocked isn’t inlined.) Ludo’.