For the macaroni cheese, heat 20g/¾oz of butter in a medium saucepan over a medium heat. When the butter is foaming, add the artichoke halves and lardons, if using, and fry, stirring regularly, for 10-12 minutes, or until the artichokes and bacon are both golden-brown and the bacon is crisp. Remove from the pan using a slotted spoon and set aside to drain on kitchen paper.
Heat the remaining 40g/1½oz of butter in a large saucepan over a medium heat until foaming. Add the garlic clove and fry for one minute, or until softened.
Add the flour and stir to combine, then continue to cook for a further minute, stirring vigorously, or until the flour has darkened slightly in colour.
Add 3-4 tablespoons of the milk and stir until the mixture comes together as a thick paste.
Add the remaining milk, a little at a time, whisking after each addition to incorporate it into the mixture and waiting until the mixture has thickened slightly before adding more milk. When all of the milk has been incorporated into the mixture, the result should be a smooth sauce with the consistency of double cream (this is called a roux).
Reduce the heat slightly and stir in the mustard and nutmeg. Remove the garlic clove from the mixture and discard.
Add the grated cheese and stir well until completely melted. Season, to taste, with salt and freshly ground black pepper.
Add the cooked macaroni, artichoke halves and bacon lardons, if using, to the cheese sauce and stir well to combine. Remove the pan from the heat. Transfer the macaroni cheese to an ovenproof dish.
For the topping, arrange the sliced tomatoes on top of the macaroni cheese. Sprinkle over the grated parmesan and dried herbs. Season, to taste, with salt and freshly ground black pepper and drizzle over a dash of extra virgin olive oil.
Line a baking tray with aluminium foil and place the ovenproof dish on top to catch any drips. Bake the macaroni cheese in the middle of the oven for 30-40 minutes, or until the topping is golden-brown and the macaroni cheese is bubbling.