I've added a two continuation, two input stream parser. This lets me (fairly) easily encode rules to check wither an old path matches a new one - modulo inserts or deletes to one of the paths. Probably I should have implemented this with a finite state automata (making it closer to lexing than parsing), but I know how to easily implement parsers.
Testing that an old directory has the same path as the new one, with a directory "Current" removed somewhere along the path is:
Note - no doubt I will change the combinator names.