Excellent news! I was thinking I'd have been very happy with anything below $6mill, bracing for something north of that, maybe even way north, and Sweeney brings him in at just under $5mill! The term is shorter than I would have liked, but I think this is fair for everyone.
He has the makings of a franchise D-man, but he's not there just yet, so why pay him like he is already? In three years, he'll either be that – a consistent, dependable, impact #1 D-man – or he'll be something less, and he'll get paid accordingly. If the rest of the league approached contracts this way, we'd have a much more reasonable salary landscape, imo.