Add diagnostic information so we can tell which portions of the parsed structure are useful most of the time
Track parse failures.  Allow parse to return only lines that succeed in parsing.
Add support for removing UNION members, at the cost of some number of parse failures.  This allows the user to trade off parse completeness against schema complexity