Am Sa., 26. Sept. 2020 um 18:31 Uhr schrieb Felix Thibault <xxxxxx@gmail.com>: > That's what I was wondering about , several of the srfi-206 libraries start off like: > > (define-library (...) > (export ...) > (cond-expand > (else > ...))) > > and I'm not familiar with this idiom- is this just pre-emptive, so that it's easier for people down the line to add implementation-specific code if they need to, or is there some other purpose so that I can't convert to r6rs just by removing the cond-expands? Yes, just pre-emptive or as a placeholder. The else clauses of the SRFI 206 libraries are for the poor-man's-implementation. Implementation-specific code can be put before that line. (If you need a complete implementation of SRFI 206 to test against, I have added it into Unsyntax. (It will always use its internal library.))