diff --git a/guix/import/cran.scm b/guix/import/cran.scm
index 13771ec598d29acbd20074ee49f9763851f42021..bcb37ed2502b82cbbabeec973265e09a29b21d1d 100644
--- a/guix/import/cran.scm
+++ b/guix/import/cran.scm
@@ -54,7 +54,10 @@ (define-module (guix import cran)
             cran-package?
             bioconductor-package?
             bioconductor-data-package?
-            bioconductor-experiment-package?))
+            bioconductor-experiment-package?
+
+            description->alist
+            description->package))
 
 ;;; Commentary:
 ;;;
@@ -270,6 +273,10 @@ (define (listify meta field)
                         (string-any char-set:whitespace item)))
                   (map string-trim-both items))))))
 
+;; Trick Guile 3 so that it keeps the 'listify' binding accessible *and*
+;; private even though this module is declarative.
+(set! listify listify)
+
 (define default-r-packages
   (list "base"
         "compiler"
diff --git a/tests/cran.scm b/tests/cran.scm
index d785ec5db10be68a751c59fcac6a0ea2acb31d31..70d22771980a669546462a09fe17b64246aa1eb2 100644
--- a/tests/cran.scm
+++ b/tests/cran.scm
@@ -53,7 +53,7 @@ (define description "
 ")
 
 (define description-alist
-  ((@@ (guix import cran) description->alist) description))
+  (description->alist description))
 
 (define simple-alist
   '(("Key"        . "Value")
@@ -72,7 +72,7 @@ (define simple-alist
                 "Date/Publication")))
     (lset= string=? keys (map car description-alist))))
 
-(test-equal "listify: return empty list if key cannot be found"
+(test-equal "listifyx: return empty list if key cannot be found"
   '()
   ((@@ (guix import cran) listify) simple-alist "Letters"))
 
@@ -105,7 +105,7 @@ (define simple-alist
                   ("mirror://cran/src/contrib/My-Example_1.2.3.tar.gz"
                    "source")
                   (_ (error "Unexpected URL: " url))))))))
-    (match ((@@ (guix import cran) description->package) 'cran description-alist)
+    (match (description->package 'cran description-alist)
       (('package
          ('name "r-my-example")
          ('version "1.2.3")