I think this is more a matter of the documentation being not quite right:
-- Scheme Procedure: thunk? obj
-- C Function: scm_thunk_p (obj)
Return ‘#t’ if OBJ is a thunk—a procedure that does not accept
arguments.
"if OBJ can serve as a thunk—a procedure called without arguments."
Note that (thunk? (lambda x x)) also returns #t and that ((const 1))
returns 1.
--
David Kastrup
