
Heat oven to 200C (180C fan, gas 6, 400F). Poach all the fish in the 600 ml milk with bay leaf and peppercorns at a bare simmer for 4-5 minutes until just set. Lift out the fish; reserve the milk.
Melt 50 g butter, stir in the flour and cook 1 minute. Whisk in the warm poaching milk until you have a thick, smooth sauce that coats a spoon. Stir in parsley and lemon juice; season carefully.
Boil the potatoes until tender, drain, steam-dry 1 minute, then mash with butter and a splash of warm milk. Season well.
Flake the fish into a baking dish, add prawns or egg if using, pour over the sauce and fold gently to coat.
Spoon the mash over, spread to the edges to seal, and rough with a fork. Scatter over cheddar if using.
Bake 25-30 minutes until golden and bubbling. Rest 5 minutes before serving.