Previous patch still included a TODO in the tests, updated patch in attachment... What is the idiomatic way to ensure a socket is closed when it's no longer needed? I looked for something like a “with-open-socket” form, but that doesn't seem to exist. My workaround feels a little clumsy: (let ((dict (socket PF_INET SOCK_STREAM 0)) (addr (make-socket-address AF_INET INADDR_LOOPBACK 8628))) (connect dict addr) (display "DEFINE Guix\n" dict) (let ((response (read-line dict))) (close dict) response))) Thomas