Heat the milk and cream together over a low heat until warm. Remove from heat. In a bowl mix sugar, salt, flour, cornflour and yeast. Make a well in the centre and pour in the milk and cream mixture. Mix wet and dry ingredients together then add the eggs and softened butter. (Alternatively you could use a bread maker).
Once everything is mixed lightly dust your hand and the surface with flour. Knead the dough until smooth and elastic; around 10 minutes by hand. Grease your bowl with a little bit of oil and place dough back into this bowl. Cover and let rise in a warm place for 1-2 hours or until dough has doubled in size.
Once the dough has risen lightly flour your surface and dough. Roll you dough out into a rectangle about 55cm x 40cm that is a little less than 1 cm thick.
Preheat the oven to 200 degrees C.
Mix the sugar, flour and cinnamon in a small bowl. Spread the butter or margarine all over the surface of the dough and sprinkle on your cinnamon and sugar mix (as well as your optional raisins, nuts, etc.).
If you want only a few big cinnamon rolls carefully roll up the dough along the width of the dough so you end up with a shorter fatter log of dough. If you want a lot of muffin sized cinnamon rolls roll it up along the length of the dough. Cut the dough along its length keeping in mind that it will roughly double in the oven. Either place the dough in a greased ovenproof dish or in muffin wrappers in a muffin tray.
Bake big rolls for 10 minutes or until a light golden brown and small muffin rolls for 7-9 minutes or until a light golden brown.
While rolls are baking put icing ingredients in a bowl and beat well with an electric mixer until fluffy. When the rolls have cooled for around 10 minutes spread generously with the icing and serve.