Does the "zipper" fall into this category? http://haskell.org/wiki/wiki?TheZipper Markus > You might also find the 'cast' function in Section 3 of "Scrap your > boilerplate" useful. > http://research.microsoft.com/~simonpj/papers/hmap/ > I'm not certain, but it has the right smell. > Simon