Add salt to a large pot of water and bring to a boil - we'd recommend at least four big handfuls of salt. Add your pasta to the boiling water and cook for one minute less than package instructions for al dente.
While your pasta cooks, heat about a quarter of your butter and 2 tablespoons of ground black pepper in a large pot over medium. Stir until the butter is melted and the pepper is fragrant, about two minutes or so.
Add whole milk to butter mixture and bring to a simmer. Whisk in all of your remaining butter a knob at a time, allowing each knob to melt before adding the next. If pasta is still cooking by the time all of your butter is melted, turn heat off butter mixture and cover to keep warm.
Towards the end of the pasta cooking time, skim off 250ml or so of pasta cooking water. We'll use this to loosen our pasta sauce.
Drain pasta and add to the pot with the milk/butter mixture. Return to medium heat and mix, ensuring all shells are coated.
Add about a third each of your parmesan and cheddar, stirring the pasta constantly. Add your reserved pasta water in increments and continue to stir. Repeat this with the remainder of your cheeses, adding in pasta water where necessary. You're aiming for a glossy, smooth sauce - you don't want it claggy or thick. If you're coming back for seconds the sauce will thicken as it cools, so don't be shy with the pasta water.
Season with salt if required; top with a crack of black pepper and truffle oil (optional).