Grind the saffron threads in a pestle and mortar to a powder and tip into a saucepan. Rinse the mortar out with the milk to get any remaining saffron and add it to the pan. Heat until steaming but not yet boiling. Remove from the heat, add the butter, stir until melted then set aside to cool until lukewarm.
Mix the flour, sugar, yeast, salt and cardamom together in the bowl of a stand mixer fitted with a dough hook. Add the cooled milk mixture and mix to form a shaggy dough. Knead for about 5-10 minutes until smooth and elastic; it should be sticky but not wet. You can also knead the dough by hand on an unfloured work surface.
The dough should pass the windowpane test - you should be able to stretch a portion of it very thin before it breaks, so thin that you can see light through it.
Place in an oiled bowl, cover and set aside to rise in a warm spot until doubled in size. About 1-2 hours.
Place the raisins or currants in a bowl, cover with water and leave to soak. Line two baking sheets with baking paper.
Knead the risen dough briefly to knock out any air bubbles then divide it into 12 even portions (use a scale for accuracy). Shape each portion into a neat ball. Cover the balls of dough with oiled clingfilm to prevent them from drying out.
Working with one ball of dough at a time, leaving the others covered with the clingfilm, use your hands to gently roll it out into a 35-40 cm/14-15.5 in long rope. Do not flour the work surface.
Coil the ends of the rope in opposite directions so that it forms an "S" shape. Repeat with the other balls of dough.
Place the shaped buns spaced apart of the baking sheets. Loosely cover with oiled clingfilm and set aside to rise until puffy and the dough springs back slowly and leaves a small indentation when pressed with a finger; if it springs back quickly and fills in completely then they need to rise for longer. This will take about 30-60 minutes.
While the buns prove, heat the oven to 200°C/180°C fan/400℉/gas mark 6. Drain the raisins.
When the buns are ready to bake, gently brush them with milk and press a raisin/currant into the centre of each spiral; they have a tendency to pop out so press them in quite deeply.
Bake for around 15 minutes until nicely browned. Transfer to a wire rack to cool before serving. Best on the day they are baked.