Note that the code in here is pretty ugly. Beautifications would be welcome. It's just the first thing that came to my mind. This is a function that ought to go into core, if it's a good idea. And if it's not a good idea, it ought to be scrapped. I really like the idea of eliminating all the supid "ReadableLayout" stuff needed to handle existentials. So although this code is rather verbose and more than a little ugly, consider that it would be replacing some already-existing ugly code. It would also greatly beautify the Config file, by eliminating both layouts and serialisedLayouts. I'd then vote for renaming layoutHook to simply layout. David Wed Oct 24 11:26:48 EDT 2007 David Roundy <droundy@darcs.net> * add NewSelect layout combinator. This patch adds a selection layout combinator ||| which replaces Select, and makes the Layout data type unnecessary. This combinator isn't yet feature-complete, as I didn't implement backwards rotation (PrevLayout), but that's obviously doable. This patch requires the descriptions function be added to LayoutClass in core.