The immediate values that are neither small integers, characters, nor booleans are all unique values — that is, datatypes with only one instance.
The Scheme empty list object, or “End Of List” object, usually written in Scheme as
The Scheme end-of-file value. It has no standard written representation, for obvious reasons.
The value returned by expressions which the Scheme standard says return an “unspecified” value.
This is sort of a weirdly literal way to take things, but the standard read-eval-print loop prints nothing when the expression returns this value, so it's not a bad idea to return this when you can't think of anything else helpful.
The “undefined” value. Its most important property is that is not equal to any valid Scheme value. This is put to various internal uses by C code interacting with Guile.
For example, when you write a C function that is callable from Scheme and which takes optional arguments, the interpreter passes
SCM_UNDEFINEDfor any arguments you did not receive.
We also use this to mark unbound variables.