Improved template for parser generation (type safety), improved naming