DENVER -- Adam Frazier's been awesome. He had the day off.
That shouldn't have rendered the offense awful.
Colin Moran's been a better run-producer than most anticipated. He was hit by a pitch in the first inning and forced to leave.
That shouldn't have removed the only real power threat in a game being played a mile above sea level.
Tyler Anderson made a single mistake on the mound, by my count, and he paid a severe price by serving up a 433-foot bomb to, of all people, Elias Diaz. Because, you know, a mile above sea level.
That shouldn't have represented the last reliable starter this rotation will send out there until ... what, later in the week?
Here are the highlights, presuming anyone cares to press play:
It was all that and so much less, a matchup of 47-loss opponents on this odd Monday matinee that was branded 'Opening Day 2.0' to celebrate Colorado allowing full capacity inside Coors Field, but even the 32,092 on hand seemed dispirited by witnessing roughly a dozen fewer runs than the norm around here.
It also was, from the visitors' perspective, the polar opposite of that spectacular Sunday in St. Louis. Max Kranick's magical debut, Ke'Bryan Hayes' mindblowing play, all that stuff.
And I'm not so sure that's a bad thing.
No, seriously.
There've been brief spells this summer where it's been fun for these Pirates. The 12-11 start leaps to mind for me, with the 12th of those wins coming at PNC Park against the Royals, who were best in Major League Baseball at the time. There were a few other rallies, a few other series where they'd appear to assert themselves. And St. Louis just now fit right in.
Individually, there've been bright spots that have exceeded anything collective. Frazier and Bryan Reynolds both should be returning to this city for the All-Star Game in a couple weeks. Young Hayes just keeps growing. Jacob Stallings. Richard Rodriguez. The whole pen, really.
And within those parallel contexts, actual excitement ensues. And sentiment will mount, if only on the outside, to keep this player or that player. To render certain people untouchable. To build around Hayes.
Well, to anyone who might've allowed themselves to sneak into that treacherous territory Sunday, this six-single abomination was exactly what was deserved.
"I thought Freeland kept us off-balance for the time he was in there," Derek Shelton would observe afterward, referring to Colorado's starter Kyle Freeland and generously omitting that he entered with a 7.76 ERA through seven starts. "When their relievers came in, we hit a couple balls hard. But we just couldn’t capitalize. We had the one opportunity, I think, in the sixth. We just didn't capitalize on it."
It was the fifth, though they did blur. The Pirates were handed a couple baserunners via walk and error, then bunted into a forceout and bounced out twice more.
Step back from this. Try. I do this a lot, even while acknowledging it isn't easy.
A dynamic top three in the order, as we've seen, isn't a foundation. The heart of the order is. And this organization -- this system, top to bottom -- isn't anywhere near that. Barring bumping Hayes and/or Reynolds down, there aren't Nos. 4, 5 and 6 hitters at any level other than in the hopeful sense. Maybe Oneil Cruz. Maybe Mason Martin. Not a near-lock until Nick Gonzales in Class A.
How to overcome that?
Wait a few more years?
Hope real hard?
A dynamic young starter or two, as we're seeing, is ... man, it's scary. Look at the Jenga effect of Mitch Keller falling on his face. It's welcome when a Kranick makes a cameo that raises eyebrows, and it's outright wonderful that JT Brubaker's set the stage for a promising career, but Keller's flop leaves the projected future rotation at ... 1.5?
I'll cut to it ...
Trade Frazier.
Trade Rodriguez.
Trade Anderson.
Trade all three without saying you're sorry once.
It doesn't need to go further than that and, in fact, future Rule 5 issues might mitigate against some complete housecleaning, as there are only so many prospects that can be protected. But moving those two, not as giveaways but for good, fair returns in high-ceiling talent, will boost a system that's already got, according to FanGraphs, 51 prospects with a legit chance to reach the majors -- grading at least a 35+ on the 20-80 scouting scale -- that's tied for third-most in the majors.
As FanGraphs' Eric Longenhagen wrote this spring of the Pirates' system, "There will be attrition ... but the sheer volume of higher-upside players acquired recently will likely result in a handful of foundational big-leaguers and important role players."
Hear that?
'Foundational big-leaguers.'
Not just the ones surviving the latest DFA wave.
'Important role players.'
Not Phillip Evans.
Do this. And when anyone demands an apology, feel free to share that video up there.

GETTY
Colin Moran's checked by Rafael Freitas, the Pirates' head athletic trainer, in the first inning Monday in Denver.
THE GAME
• Moran was struck by a 91.1-mph Freeland sinker on the left wrist in the first inning and, after twice successfully chasing away the athletic trainers and Shelton, he was pulled before the bottom half.
Shelton said afterward the medical staff had done some imaging and that, "As of right now, it's clean," adding, "It’s pretty bruised. It was bruised when I got out there to check him. While he was hitting, it hadn’t bruised up yet. But when we went out between innings and we were on defense, he already had a bruise there. We’ll continue to look at it and, hopefully, he’s just day-to-day."
Either way, dude's had no luck. He's already had absences this season to groin and back injuries, totaling a month's worth of games.
• Kranick was optioned back to Class AAA Indianapolis, the day after his perfect five-inning debut in St. Louis. That means, barring an emergency recall, he'll have to stay in the minors 10 days, according to Shelton. Cody Ponce was recalled in his stead.
This would appear to be a big deal. I'm assured it isn't.
Kranick will be back, I was told before this game, and it'll be sooner rather than later. Ponce was needed partly because management wanted to have a stretched-out arm for the altitude here, partly because Duane Underwood Jr. was drained out with three innings Sunday in St. Louis, partly because there's a game every day between now and the July 12 start of the All-Star break.
"He’s going to go back to Indy and get another start," Shelton explained. "He did a good job. We wanted another bullpen arm. ... We had to make sure that we had some length covered."
Look, the kid was in Altoona a month ago. He's 23, and he'd never pitched above Class A until two months ago. Another start in Indy won't hurt anyone.

GETTY
Tyler Anderson pitches in the first inning Monday in Denver.
• Anderson was plenty good enough through five innings -- two runs, five hits, three Ks and a walk -- and probably deserved better.
Of note was how he finished, by leaving the bases loaded in the fifth by fanning Charlie Blackmon with a devastating drop-the-shoulder cutter.
I asked Anderson about that: "With Charlie, that’s the guy we have to get right there. With that last pitch ... we went in before that, so we tried to give him a cutter/slider out there that he would try to chase."
He did, and that was it for Anderson, capping a second consecutive solid start after a tough day in D.C.
Dude competes. Also, he's a starter. And a lefty. Someone will want him.
• To be clear, the Pirates lost this game because they hit poorly. That's on them.
It also can be true that home plate umpire Rob Drake's strike zone varied hilariously between the two teams, as these two charts illustrate with terrifying clarity:


Those have not been doctored.
I asked to speak with Ben Gamel, one of several Pirates to fume at Blake, but he politely declined because I'm pretty sure he knew what I'd hoped to ask.
I did ask Shelton if he feels strikes need to be earned, whether by individuals or teams, and he guardedly replied, "I think you earn it over the course of time, but I think it’s got to stay consistent. I think that’s important. It can’t fluctuate like that. I think you call balls balls, strikes strikes."
He later stressed that wasn't referring to this game.
I tried this with Kevin Newman, too, same question, and he replied, "I don’t feel the strike zone has to be earned. My personal belief is that, if you’ve played the game long enough and hard enough and well enough to get to the major-league level, I think the strike zone should be the strike zone."
What a concept, huh?
THE ESSENTIALS
• Boxscore
• Scoreboard
• Standings
• Statistics
THE LINEUPS
Shelton's card:
1. Erik Gonzalez, SS
2. Ke'Bryan Hayes, 3B
3. Bryan Reynolds, CF
4. Colin Moran, 1B
5. Jacob Stallings, C
6. Phillip Evans, LF
7. Gregory Polanco, RF
8. Kevin Newman, 2B
9. Tyler Anderson, LHP
And for Bud Black's Rockies:
1. Raimel Tapia, LF
2. Yonathan Daza, CF
3. Trevor Story, SS
4. Charlie Blackmon, RF
5. C.J. Cron, 1B
6. Brendan Rodgers, 2B
7. Ryan McMahon, 3B
8. Elias Diaz, C
9. Kyle Freeland, LHP
THE SCHEDULE
There's another one tonight. Chase De Jong (0-2, 4.94) vs. German Marquez (6-6, 3.99), first pitch at 8:40 p.m. Eastern. I've got this.
IN THE SYSTEM
• Indianapolis
• Altoona
• Greensboro
• Bradenton
THE CONTENT
Visit our team page for everything.