Hello! Consider this module: --8<---------------cut here---------------start------------->8--- (define-module (foo) #:autoload (does-not-exist) (baz)) (define (chbouib) (baz)) (pk 'hello) --8<---------------cut here---------------end--------------->8--- Trying to evaluate it fails this way: --8<---------------cut here---------------start------------->8--- $ guile --no-auto-compile t.scm Backtrace: In ice-9/boot-9.scm: [...] 292: 3 [get-global-definition-hook baz (hygiene foo)] In unknown file: ?: 2 [module-variable # baz] In ice-9/boot-9.scm: 2732: 1 [b # baz #f] In unknown file: ?: 0 [scm-error misc-error #f ...] ERROR: In procedure scm-error: ERROR: missing interface for module (does-not-exist) --8<---------------cut here---------------end--------------->8--- ... which defeats the whole purpose of autoloads. What about something along these lines (untested)?