When producing or enhancing code, it is tempting to use recent new primitives of Mathematica introduced in version 7 and 8, but for library code or in preparation or future version change in production code, it is better to be compatible with slightly older versions while maintaining only one version of the code.
To do this, I have sometimes written washed-down versions of list manipulation or other primitives of Mathematica 6, 7 and 8 that can run on Mathematica 3, 4 or 5 in a separate .m file that I include in the dependencies of my personal packages. Of course they are most of the times less efficient and less general than the original ones but often sufficient to have the code running.
Have others have done the same thing and if so, are there already published resources on this?
(Note: we could probably merge these efforts (and test cases, etc.) to have a more or less standard "backward compatibility" code. This could also help people maintaining code on hardware which cannot be updated and would be fun as problem solving !)