Subject: bug#24102: Use guile variable objects as SRFI-111 boxes.

From: "Glenn Michaels" <[email-masked]>
Date: Tue, 2 Aug 2016 06:25:56 -0400

Trivial patch implementing this suggestion attached.
--- a/module/srfi/srfi-111.scm
+++ b/module/srfi/srfi-111.scm
@@ -17,21 +17,9 @@
 ;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
 (define-module (srfi srfi-111)
-  #:use-module (srfi srfi-9)
-  #:use-module (srfi srfi-9 gnu)
-  #:export (box box? unbox set-box!))
+  #:re-export ((make-variable . box)
+               (variable? . box?)
+               (variable-ref . unbox)
+               (variable-set! . set-box!)))
 
 (cond-expand-provide (current-module) '(srfi-111))
-
-(define-record-type <box>
-  (box value)
-  box?
-  (value unbox set-box!))
-
-(set-record-type-printer! <box>
-  (lambda (box port)
-    (display "#<box " port)
-    (display (number->string (object-address box) 16) port)
-    (display " value: ")
-    (write (unbox box) port)
-    (display ">" port)))