The ParsingResults class should have a method Bind which takes a type parameter. The method should match all constructor arguments and all public properties to the parsed arguments. This makes it easier to consume the parsing results. There should also be a Parse method on the Parser class, which directly binds the parsing results to an object.