Lazy evaluate errors, speeding up the parser a LOT

From my simple testing with a non-trivial grammar this change gives me roughly a 60% speed boost.