Preheat oven to 400ºf (200ºC).
In bowl, combine flour, cocoa, sugar and salt. Using pastry blender or two knives, cut in butter and shortening until mixture resembles fine crumbs with a few larger pieces.
Sprinkle with water, stirring quickly with fork just until mixture is moistened and clumps together when pressed. Knead lightly 5 or 6 times to form ball; flatten into disc. Wrap and refrigerate for 30 minutes.
On lightly floured surface; roll out dough to 1/4-inch (5 mm) thickness. Fit into 9-inch (23 cm) pie plate; trim and flute edge. Chill until firm.
Using fork, prick pastry all over. Line with foil; fill with pie weights or dried beans. Bake in oven for 20 minutes. Lift out foil with weights. Bake for about 10 minutes longer or until browned and no longer doughy in centre. Let cool on rack.
Meanwhile, in saucepan, heat milk until bubbles form around edge.
In bowl, combine sugar, cornstarch and salt; gradually add milk, whisking to remove any lumps. Return to saucepan.
Add chocolate; cook over medium heat, whisking constantly, for 4 to
7 minutes or until boiling and thickened. Remove from heat.
Whisk a quarter of the hot mixture into egg yolks; whisk back into saucepan. Reduce heat and simmer for about 1 minute or until no raw taste; stir in butter and vanilla. Pour into bowl and cover surface with waxed paper; refrigerate until cold and set.
Spoon filling into baked pie shell, spreading evenly.
Whip cream; spread or pipe over filling.
Shave semisweet chocolate to form curls; sprinkle over cream.
Cover loosely and refrigerate until filling is set, about 2 hours, or for up to 1 day.