Before people start freaking out about what a steal this is for the M's, let's remember...Felix Hernandez isn't a free agent yet. He wouldn't have been a free agent until after 2011. So if this is true, the M's have bought out two arbitration years and three free agent years.
If we assume that Felix would have gotten $8 million for 2010 and, say, $15 million for 2011, that means that his free agent years were bought out at $19 million per season for three years.
Felix can hit the free agent market when he's 28, should he choose, and the M's know they have their top young pitcher locked up for the next four years.
This seems, to me, to be a reasonable deal for both sides. Seattle is paying pretty close to market rates...they are getting a discount, but it isn't a huge one, and it is a discount in line with buying out free agency years two years before a player is a free agent.