I have been told this has to do with '((a . 1) (b . 1)) being a literal. I'm guessing guile caches this and it get then mutated.
- bug#19417: let, assq-set optimization gone wrong? Matt Wette
- bug#19417: oops - may not be a bug Matt Wette
- bug#19417: oops - may not be a bug Mark H Weaver