Hi- I've been working on the Unicode problem in Guile, and I had been too ambitious. I hacked it up pretty harsh and started getting errors that were tough to debug.
Anyway, I backtracked a bit. Today I pushed a new tree (string_abstraction2) which should be the same as master except with all unnecessary calls to scm_i_string_chars, scm_i_symbol_chars, and scm_i_string_writable_chars removed. I largely avoided other unnecessary modifications. It is still an 8-bit string build, but, now the string internals have been confined to strings.c and strports.c, with very few exceptions. >From here, I'm more confident that I can fold in changes for unicode without breakage.