I can understand saying $20M for average is bad, so if the wording was "The contract was below average or bad," I'd be okay with that position, but Porcello was not bad from 2017-2020. He was average or placed in the 31st to 60yh range in a lot of major categories, which makes him similar to most team's #2 SP'er. In other categories, he was a number 3.
He would have been almost every team's best 3rd or 4th starter, so calling him a #5 is not fair. Then, being 10th in IP'd is a very helpful thing. He saved the pen, which were sketchy, then, too. He kept us from needing to start our 7th, 8th or 9th starters.
A look at our #6,7,8+ SP'ers:
2017:
4.88 Fister
4.33 Johnson
8.25 Wright
2.92 Velazquez
12.96 K Kendrick
2018:
4.17 Johnson
6.08 Pom Pom
3.18 Velazquez
2.68 Wright
2019:
5.43 Velazquez
6.02 Johnson
6.20 Cashner
7.36 Chacin
5.09 Weber
5.81 Josh Smith
2020:
8.16 Godley
4.80 Mazza
4.40 Weber
5.61 Brewer
15.55 Hart
7.71 Kickham