How could it be bad? If Gonzalez plays 145-150 games, we know the kind of numbers he'll produce. He's a bargain at $6m if he does that. If he misses significant time due to injury, then he'll produce while he's in the lineup, and the Royals didn't invest much, so they don't really take a loss on it. Every contract is something of a gamble, but the positive expectation here is very high. Excellent deal for the Royals, IMO.
I just don't think Juan is worth it IMO.
Edit: Just now saw it was 4 mill to 6. My bad... thought it was 6 million.