Based on his career up to this point, I'm not sure Bryce Harper is a generational player, or even a genuinely great player. Living in the DC area and attending a handful of Nationals games every year, I can tell you Harper's defense has declined significantly since came into the majors in 2012, and he's unusually inconsistent from year to year for a really good player. Honestly, I'd rather wait two years and see the Phillies go very hard after Mike Trout than for them to sign Harper now, if they decide they only want to try to sign one of those players.
I personally wanted Machado (who I've also seen a handful of times due to seeing the Orioles at least 3-5 times in Baltimore per season and have liked since he came to the majors) because he's a more consistent player and plays better defense, arguably much better defense, at a more important/difficult to play defensive position. Having said that, Machado isn't really a generational player either, so I can understand and to some degree agree with the rationale of not paying him.