Probably not for any great reason: worst case scenario is to simply use the fast parser, and when it fails, then go back to the end of the last successfully parsed expression, and run the the slow parser to get a good error.
That is, it's not terribly difficult to deal with the tradeoffs if your description of the problem is at all correct