Most free agents signing 10 year deals do it at 28/29. So you’re signing a guy for 5-6 good years and then he’s 35-39 on the back end of the deal.
Harper can sign a 10 year deal and be good for almost all of it. Same for Machado.
Now if Harper can get a 13 year deal, may be a different story.