2. it is completely, utterly wrong to mutilate the
Guile library into such a contortion that it
interprets this:
(define y "hello")
to be a request to create an immutable string anyway.
It very, very plainly says, "make 'y' and fill it with
the string "hello". Making it read only is crazy.
It stems from the fact that string literals are read-only, per R5RS
(info "(r5rs) Storage model"):
[[blah, blah, blah]]
In Guile this has been the case since commit
190d4b0d93599e5b58e773dc6375054c3a6e3dbf.
The reason for this is that Guile’s compiler tries hard to avoid
duplicating constants in the output bytecode. Thus, modifying a