extend primitive parsers