Your solution looks really elegant, and runs insanely fast. Can you explain how it works? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20070716/2fc46b8c/attachment.htm