I don't like that a users have to create annotations by themselves (when they define their own traverser definition). Annotations are an implementation detail. I would like to see something like `(Tree, Position, Message)` as return value by `traverseSingle`.