This seems pretty easy to use, although I had to re-read the documentation to understand how to use it. The docs lack sample code.
It lacks tests. It needs at least some tests!
It doesn't try to decode accented characters or symbols, which is great because I can throw them into TeX::Encode if I need to.
My gripes are that the plainText method assumes it's given a full document (inside document environment anyway) and that it can't do serial parsing (e.g. I feed it a line, get partially parsed output, feed another line, etc.). But there are easy workarounds for this.
A serious gripe is that it doesn't recognize some forms of math mode, using $..$ or $$..$$. That will require me to write a workaround. Grr.
I find the distinction of types between Trees and Nodes to be unnecessary. It also uses a hack to guess the arguments for a command (assumes argument is not separated by whitespace form command and that groups following commands are arguments) rather than using known or common commands with set numbers of arguments.
Still, I've got some high expectations for this.
UPDATE: it tries to be too smart in it's parsing, and so cannot parse commands for special packages or custom commands. I wanted to write a script that converts markup for one package into another. May as well write my own parser.