--- This is complicated by the fact that Haddock tokens can span multiple lines,
--- which is something that the original lexer didn't account for.
--- I have added last_line_len in the parser state which represents the length
--- of the part of the token that is on the last line. It is now used for layout
--- calculation in pushCurrentContext instead of last_len. last_len is, like it
--- was before, the full length of the token, and it is now only used for error
--- messages. /Waern
-