Virat Kohli has played every kind of cover drive you could think of. The front-foot cover drive, the back-foot cover drive, the step-out-and-step-away inside-out cover drive. The cover drive to the left of the cover fielder, the cover drive to his right. The straight-bat, punchy cover drive, the bottom-handed topspin cover drive with twirly flourish. The middled cover drive, the edged cover drive.
It took until his 110th Test match, however, for Kohli to play a cover drive followed by a punch-the-air celebration when he hadn't brought up 50, 100 or multiples thereof.
Kohli was celebrating a milestone, however. He had just hit the first boundary of his innings, off the 81st ball he had faced.
It was that kind of innings. The pitch for the first West Indies-India Test in Dominica was a slow turner with a bit of bounce for the spinners, ingredients that limited batters' ability to drive the ball unless it was pitched right up, or use the bowlers' pace to score their runs.
And so it was that Kohli took 81 balls to hit his first boundary, another 43 to hit his second, and another 36 to hit his third, by which time he had already passed 50.
It was far from Kohli's most fluent innings, and there were slices of luck along the way - two dropped chances on 40 and 72, and a missed run-out chance on 45 - but he was doing what he needed to do. India were looking to bat once and bat big after bowling West Indies out for 150 on the first day, and he was helping them do just that. He was happy to bat time, grind out his runs, and pump his fists whenever a boundary happened to come along.
A broad grin accompanied these boundary celebrations, suggesting both that he was enjoying his struggle and aware of how mortal it was making him look. Great batters don't score runs only when every ball is pinging off the sweet spot; they often place greater value on the times they had to fight their own lack of fluency but scored runs nonetheless. They love waging heroic battles against the greatest bowlers on difficult pitches, and they also love days when they are themselves their stiffest opponents.
The most remarkable thing about Sachin Tendulkar's 241 not-out in Sydney wasn't so much that he shelved his cover drive but the fact that he shelved it on one of the flattest pitches he ever batted on, against a middling Australia attack. It takes a lot for one of the greatest batters of all time to acknowledge that he wasn't playing one of his bread-and-butter shots well enough to use it even in those circumstances.
Over recent months and years, some of Kohli's longest Test innings have featured this sort of self-denial: for instance the 79 in Cape Town, which featured one of the highest leave percentages of any Test innings in recent times, and the 186 in Ahmedabad, where he went 122 balls before hitting his first boundary of day four. He's been happy to pare his game down to its most prosaic components when required to, almost revelling in the setting aside of his ego.
But sometimes it's felt different from the kind of situation-specific curtailing of shots that Tendulkar would perform every now and then. With Kohli over recent seasons, it feels like something may have changed in his game, perhaps even irrevocably.
Until the end of 2019, Kohli scored his Test runs at a strike rate of 57.81. Since the start of 2020, he's gone at 44.43.
This, of course, is partly an effect of his diminished returns in this period - he has only averaged 30.75 in the pandemic and post-pandemic eras - and partly an effect of the quality of attacks he's faced and the bowling-friendly nature of the pitches he's batted on. Kohli has been far from alone among India's batters in seeing his average and strike rate drop significantly since the turn of the decade.
The difference with Kohli, however, is that when he had scored runs against quality attacks in testing conditions in the pre-pandemic period, he had often done so at a significant clip. Take three celebrated innings from 2018: the 153 in Centurion came at a strike rate of 70.50, his 149 in Birmingham at 66.22, and his 97 in Nottingham at 63.81.
It isn't easy to say why Kohli has slowed down to the extent he has, post-2020. The fundamentals of his game don't seem to have changed to any great extent, but his limitations may be hampering him now in a way they didn't in his prime. These limitations have always been evident. He's a superb puller, for instance, but he's never had much of a back-foot repertoire on the off side; against spin he only rarely sweeps or hits over the top or uses his feet to get down the pitch. In Dominica, for instance, he didn't sweep or use his feet even though he faced a lot of bowling from West Indies' part-time spinners.
It could be that his eye isn't quite what it used to be, and he isn't hitting his go-to shots in quite the ruthless way he used to. Or it could be that bowlers are denying him his go-to shots more successfully now than they used to.
Whatever the reasons may be, Kohli hasn't changed his game or added new shots to his repertoire. And by not changing his game, Kohli has paradoxically turned into a different kind of player. He scores his runs slower now, and perhaps with less certainty than before, though he seems to be over the worst of his lean run - he averages 48.44 this year, compared to 26.20 in the 2020-22 period. What hasn't changed, as Dominica showed, is how much he relishes a scrap - even if his fiercest opponent happens to be himself.