The Mariners aren’t a difficult team to understand. On the pitching side, they want to get the ball from James Paxton to Edwin Diaz. When those pitchers aren’t available — which is most of the time — the position players need to hit the crap out of the ball. To this point, it’s worked; while the Mariners have been outscored, they are in at least temporary possession of a wild-card slot, with the lineup owning a 109 wRC+. During a four-game weekend series in Cleveland, the Mariners put up 32 runs, which would be a lot of runs against anyone anywhere.

It shouldn’t surprise you to learn that Robinson Cano has been productive. He’s dramatically cut down his swing rate, causing his walk rate to double. Nelson Cruz, Jean Segura, Dee Gordon — these players, also, were supposed to be good. Yet the best hitter on the team has been none other than Mitch Haniger. In other words, Haniger is doing it again. He’s looking to cement his place as the breakout star of the Segura/Taijuan Walker trade.

Many of you will remember that, in 2017, Haniger also had a tremendous first month. And then the injuries started, before April was even complete. Still, since the start of last year, nearly 200 players have batted at least 500 times, and Haniger ranks 18th in wRC+, sandwiched between Charlie Blackmon and Michael Conforto. What that demonstrates is that Haniger is legitimately good. But also, in this season alone, there are 176 so-called “qualified” hitters, and Haniger ranks fifth in wRC+, sandwiched between the surprising Daniel Robertson and the less surprising Mike Trout. Haniger is tied for the league lead in homers. What that demonstrates is that Haniger could be becoming legitimately great.

And maybe this is how it was going to be. Maybe Haniger was already on this course before, until he injured his oblique and then got hit by a pitch in the face. It’s not as if Mitch Haniger is suddenly more talented. He’s just been able to execute consistently. It was a few years ago that he joined the early ranks of the swing-changers, and those adjustments are paying off in spades.

We’re always looking for signs of how players have changed. What might be different for Haniger between 2017 and 2018? Drawing from Baseball Savant, here’s a first look. In this plot, you see everyone’s changes in exit velocity and launch angle, with Haniger highlighted in yellow.

On average, Haniger has been hitting the ball harder. On average, Haniger has been hitting the ball more in the air. We don’t actually need Statcast for this — the regular numbers make it obvious that Haniger has made more solid contact, and his ground-ball rate is way down. I can tell you where Statcast comes in handy, though. In that plot, you see overall averages. What if we narrow down to just the good contact? I looked at everyone’s batted balls hit at least 95 miles per hour. For all those batted balls, I found the average launch angles. So instead of looking at overall launch-angle change, let’s now look only at launch-angle change when the ball is well struck.

When Haniger made his best contact last season, he hit the ball about 12 degrees above the horizontal. That’s a good line drive. When Haniger has made his best contact this season, he’s hit the ball nearly 21 degrees above the horizontal. That’s somewhere in between a line drive and a fly. Haniger’s average hard-hit launch angle is up more than eight degrees, which is baseball’s second-biggest positive change. What that fairly strongly suggests is that Haniger has an even more air-ball-oriented bat path. The best contact, after all, follows from the specific attack angle.

To go along with Haniger’s swing, we can also see signs of a tweaked approach. That is, Haniger has selected different pitches to try to hit. As an example, Haniger has swung far more often this year at pitches over the inner half.

Haniger has attacked inside pitches more often, while laying off more pitches away. This isn’t too unusual for a righty whose best power is to left and left-center. Though I couldn’t be sure, it seems like Haniger might have slightly backed off from the plate. Now, there’s something else that’s a little more surprising. As a swing-changer, Haniger set his sights on hitting line drives and fly balls. As the theory goes, these changes lead to uppercut swings, and those swings can be exploited around the top of the zone. But this year, Haniger is swinging at more pitches up.

Haniger doesn’t actually seem to have a high-pitch weakness. He has an aggressive attack angle, and he does hit fly balls, but it’s not about his having some exaggerated uppercut. It’s part swing and it’s part pitch selection. I’m not Mitch Haniger; I can’t give you the ins and outs of how it all works. But Haniger is a powerful fly-ball hitter who can cover pitches up and inside. That’s not an ordinary combination.

There were two ways to try to interpret Mitch Haniger’s 2017. Haniger might’ve been a fine overall hitter who got off to a good start before opponents adjusted. Haniger then took time to adjust back, and that was that. Alternatively, Haniger might’ve been a great overall hitter who got off to a good start before injuries messed with his timing. Haniger’s 2018, therefore, was always going to be a critical season, because it could help to provide an answer. I’m not saying we definitely have an answer now. It’s just that evidence is mounting far more on one side than on the other.