Mathematica 9 is now available
Flatten

An example of Flatten:

[Graphics:../Images/index_gr_217.gif]
[Graphics:../Images/index_gr_218.gif]
[Graphics:../Images/index_gr_219.gif]

Here is a function automatically flattens multiple levels of itself.  It also acts as the identity on a singleton.

[Graphics:../Images/index_gr_220.gif]
[Graphics:../Images/index_gr_221.gif]
[Graphics:../Images/index_gr_222.gif]
[Graphics:../Images/index_gr_223.gif]
[Graphics:../Images/index_gr_224.gif]

Usually people try to do this with Flat, but that causes infinite recursion because Flat also interferes with pattern-matching of your rules.

[Graphics:../Images/index_gr_225.gif]
[Graphics:../Images/index_gr_226.gif]
[Graphics:../Images/index_gr_227.gif]
[Graphics:../Images/index_gr_228.gif]
[Graphics:../Images/index_gr_229.gif]
[Graphics:../Images/index_gr_230.gif]
[Graphics:../Images/index_gr_231.gif]