So this is something I just bumped on while reading Monadic Parser Combinators. After reading a few pages I thought I should do this practically. Unconsciously I decided to use Python. I could very well have used Factor, since it is more functional. This led me to realise that I should take one thing at a time. Two new things at a time == frustration I'm already finding Factor pretty tough.