Optimization: store pre-created generators and parsers in an array instead of an hash map