Hello, While debugging , I was surprised to see that revealed ports were not GC’d at all. The manual suggests otherwise (info "(guile) Ports and File Descriptors"): If a port’s revealed count is greater than zero, the file descriptor will not be closed when the port is garbage collected. That revealed ports are not GC’d makes it easy to shoot oneself in the foot the way I did (huge memory leak). So what about the simplification below? It creates one observable difference: ‘close-port’ does nothing on a revealed port, whereas until now it would close the port even if it has a non-zero revealed count. I would argue that it’s acceptable though. Thoughts? Ludo’.