allow overriding the toDot length.
add toDot() to parser, and count parse passes.
fix describe() to set the fail message too.
repeat should notice and bail on aborted state.