Between Nico, Happ, and Seiya, Nico is the one you'd want to extend IMO. He's the better and the youngest of the three. He probably gets a 4-5 year deal (probably deserves a bit longer), which is fine, that would make him 33 or 34 when the contract is done, which is decent. A 4 year deal for Seiya or Happ would start at age 32 through age 35 and you'd expect decline through around half the contract.
The position player pool in free agency is terrible next winter. Nico looks like the best position player on the market.
On the other hand, at some point you have to give the next generation of players a chance, so i'd have no issues going with Shaw next year. Letting go of Javy, Bryant, and Rizzo worked out for us.