The St. Louis Cardinals made plenty of trades, but several players were left on the roster, such as Willson Contreras and Dylan Carlson.
Willson Contreras was signed to a four-year contract this past offseason. In many ways, trading him this soon would have signaled the front office admitting a mistake just a half-season in. John Mozeliak is unwilling to do that just yet, especially when Contreras' value is so low.
This is not to say that St. Louis will never trade Contreras. In fact, signing him was a bit shortsighted. Contreras' defensive deficiencies were well known at the time of the transaction. Still, the Cards made an offer they've now come to regret.
But trading Contreras now, rather than later, would have forced St. Louis to take a discount on a player they paid full price for. At the very least, the Cards would rather wait this one out.
Why the Cardinals kept Dylan Carlson on the roster
St. Louis kept Dylan Carlson because of his potential as a starting outfielder and the fact that his contract runs through the 2024 season. The more likely reason, still, is that John Mozeliak did not like the prospect returns he was offered for Carlson, a player he is selling at a lower overall value.
It's a similar reason as to why St. Louis held on to Tyler O'Neill. With the Canadian's off-field concerns (spat with Oli Marmol) as well as his shoddy statistics, it doesn't make much sense to trade O'Neill now when they can at worst deal him for a better asking price as a rental in 2024. The same can be said with Carlson.
Carlson's biggest looming improvement is how he hits against right-handed pitching. Should he even improve to a league-average mark in that department, he will make the Cardinals very happy.