backtrack = true unless consequence.signifies? :block_end
To avoid excessive test coverage it would be more pragmatic to do:
backtrack = (consequence.signifies? :block_end) ? false : true
A lot of software engineering lore crumbles into tautologies or is completely obviated when you're working at the microscopic level.