In a large saucepan, stir 3 cups (750 mL) milk with sugar. Set over medium-high heat, stir and bring to a simmer.
Place remaining milk in a medium bowl. Whisk in cornstarch until dissolved. Once milk reaches a simmer, whisking continuously, add cornstarch mixture. Bring to a full rolling boil; stir continuously until mixture thickens, 1 to 2 min. Remove from heat; stir in rosewater, if using, and 1 tsp (5 mL) vanilla. If not using rosewater, stir in 3 tsp (15 mL) vanilla.
Pour into a bowl or individual serving dishes. To prevent a skin from forming, place plastic wrap on surface of pudding. Refrigerate at least 4 hours or until set. Discard plastic wrap. Sprinkle with raisins and cinnamon or your favourite toppings.