Sift plain flour, rice flour, corn flour and baking powder into a large mixing bowl. Grate (or dice) cold butter over the flour mixture. Add shortening. Using your fingers, gently rub into the flour mixture, until it becomes sandy and resembles fine breadcrumbs.
Dissolve salt and sugar in water. Add egg yolk and stir till well mixed. Make a well in the centre of the flour mixture, pour in the water mixture. Mix in with your fingers until the dough comes together (it will be quite sticky at first), picking up all the loose flour until the sides of the bowl comes clean. Do NOT knead or overwork the dough.
Cover dough with a damp tea cloth. Let dough rest and chill in the refrigerator for 30 minutes. It should be cool but soft enough for handling. Meanwhile, line a large baking tray with baking paper.
Cut dough into half. Keep one half covered and return to the chiller. Roll out dough half between two sheets of baking paper to 3-mm thickness. Cut out 11-cm/4.5-inch rounds for large puffs (or 9-cm/3.5-inch rounds for smaller puffs). Place an egg wedge in the centre (if using), and spoon 1 heaped tbsp of stuffing (or 2 heaped tsps for smaller puffs) over the egg. Enclose the filling by bringing the top and bottom halves of the pastry over the stuffing to meet in the centre. Seal by pressing and fluting the edges. Space puffs slightly apart on prepared tray. Gather remaining pastry dough into a ball and re-roll, cut, fill, seal and flute.
Repeat with the other dough half, until all pastry is used up. Once done, place the tray with the puffs in the chiller, while you prepare and heat up the oil for frying.
Fill up a fairly deep medium-sized pot or skillet with enough oil to submerge the puffs, or to a depth of 3-cm/1 1/2 inches (for safe frying, the pot used should be deep enough to leave 1 1/2 - 2 inches above the oil level). Heat oil over low-medium heat to a temperature between 170°C to 180°C (350°F to 360°F). Fry 3 to 4 curry puffs at a time, turning over occasionally to get even browning, for 5 to 6 minutes or until golden brown. Do NOT allow oil to get too hot (over 185°C), reduce the heat/fire as and when necessary. Drain fried curry puffs on a metal strainer placed over paper towels. Best eaten warm on the same day.
(CAUTION! Hot oil may sometimes foam up during the frying process with subsequent batch frying, due possibly, to reaction between hot oil, water content and baking powder. Exercise caution by using deep frying pot, put puffs into the hot oil one at a time, allowing 15-20 seconds to lapse in between.)