I think enough time needs to elapse to re-proportion who is getting what contract. And when I refer to contract, I mean cap hit.
Up until the very recent batch of RFAs, players knew that they were cost controlled on ELC and then had to play out their limited RFA contracts until they could get to UFA. It was known you had to overpay for UFAs because not only is there now a competitive free market for them, but I felt it was kind of understood you were paying for them to get their payday that they couldn't get in their cost-controlled years. They still had good value to give to the team, but it wasn't for the entirety of the contracts being handed out during free agency. It felt more like... we will sign player X at 28 years old for 8 years for his first giant contract that helps him recoup some money lost in his peak-RFA years in exchange for tail end years that won't be nearly as good (and of course, other teams will as well).
But the game has continued to trend much younger. The young North America team really put a stamp on that. The peak years are getting younger and younger and RFAs are demanding the money after elite ELC years, and this is coexisting with still giving out bloated UFA contracts. This is the problem. If player Y follows the arc of being elite at 23-26 and they get paid like it during those years, then their UFA contract should be relatively lower given that their production will drop during the life of the contract.
It used to be known that while you wanted to score a big UFA or two (maybe), your team had to be filled with cost-controlled contributors in order to have a competitive team fit under the salary cap. Now teams are in a crunch because the very recent/current UFAs are still looking to be paid like the UFAs of the past while the new RFAs want to get paid for right now since the game has trended younger. Take Andrew Ladd for example. He was a 50-60 point player in his mid-20s and after his ELC made 1.5MM for 2 years, than 2.5MM for 1 year, and then 4.4MM for 5 years. Then he hits UFA and gets his biggest contract of 5.5MM for 7 years when he turns 31 and not surprisingly, he puts up his worst season (31 points in 78 games) and continues to fall off a cliff in production and the ability to stay healthy, which is not surprising for a player approaching his mid 30s in today's NHL. So, not counting the ELC years, he made roughly 27.5MM over 7 years when he was 23-30 years old and then signs a contract for 38.5MM over 7 years when he's 30-37. Even if he didn't get incredibly injured (which is not something to be ignored when handing a contract out to someone that old), there's no way he would outperform his peak mid-20s years by as much as his contract demanded he should.
While Ladd is an extreme because 30-year-olds can still be much more productive than Ladd has been (and he's been injured) and I wouldn't exactly have called him an elite RFA at all, but it still paints a picture. There was an understanding that Ladd was going to get paid when he hit UFA, even if it wasn't by the Islanders, and now that has to change. If Ladd wanted to get paid for his most productive years, then he would need to take a pay cut in his 30s so his career earnings stay the same but the make-up of a contending team can work.
Hopefully the market corrects itself. I don't think it's unfair that a player like Matthews or Marner wants to get paid for the contribution they are making right now. But then they can't get paid like the old batch of UFAs once they hit those years, otherwise they'll need to be dumped for the then-current batch of contributing RFAs.