Gather the ingredients.
Prepare a container with a lid in which to freeze the ice cream. Large yogurt containers work well (you'll need several), or you can reuse a plastic ice cream tub.
Place the eggs and sugar in a food processor, mixer, or blender. Process about 1 ½ to 2 minutes.
Pour this mixture into the top of a double-boiler and place over medium-high heat.
Cook for 8 to 10 minutes, stirring continuously with a whisk until the mixture thickens and becomes creamy (it should look like custard ). Place in the refrigerator to cool.
Pour the heavy cream into the food processor. Blitz until the cream becomes very thick and stiff peaks form, approximately 1 minute. Scoop the cream into a large mixing bowl.
Fold the coconut milk and the flaked coconut (if using) into the whipped cream, stirring to combine.
Now add the cooked egg/sugar mixture as well as the vanilla or coconut flavoring, gently stirring everything together by hand. You should end up with a thick, white batter-like mixture.
Pour into the prepared container(s). Set in the freezer and allow to freeze at least 8 hours or overnight.
To serve, dip an ice cream scoop in warm water and scoop the ice cream into bowls. For extra coconut flavor, top with a little sweetened flaked coconut.