I just want to thank you - being able to read this thread has saved me hours of work. Or cost me hours. Depends on how you look at it. I spent about 3 hours trying to get a similar version to work, and it finally does now. Hopefully this gives me such a simplified API to doing what I am trying to do that it will save me (and my cow-orkers) enough time to justify that... Even if it doesn't, it's a cool API to work with. :-)

And I thank you in turn for your kind words. I gave a glance at your code and I noticed that it's not a snippet any more. Unfortunately I can't watch it in more detail: I wonder wether in the end you're matching the patterns balanced-wise as to allow for newsted ones...