>>11
I think the bigger issue is relying on unspecified behavior, or implementation specific extensions. Also implementation details are generally undefined, so performance will always be a bit difficult to maintain portably. A simple example of this is that strings can be implemented immutably, meaning it's best to use ports to build strings.
What may be interesting, and not too outlandish is to have a sort of (non-optimizing) minimal sane implementation with similar treatment for SRFI. The main difficulty with this if I remember correctly would be evaluation order, character set, and numeric tower.