Sift together 2 ½ cups all-purpose flour, 2 ½ teaspoons baking powder and ½ teaspoon salt. Reserve.
In a large bowl, beat ¾ cup unsalted butter until creamy for about 30 seconds with an electric mixer. Add 1 ½ cups sugar gradually and beat for 2 or 3 minutes.
Add 3 eggs one at a time, beating well after each addition.
In a small bowl, stir 1 cup whole milk, ¼ cup coconut milk, 1 teaspoon vanilla extract and ½ teaspoon coconut extract, if using.
Starting and ending with the dry ingredients, add them in three parts alternating with the liquids in two parts.
Fold in 1 cup unsweetened shredded coconut, stirring to combine without beating. I use a spatula. Give the batter a few final folds to make sure no flour is left in the bottom.
Pour the coconut batter into the prepared pan, filling it no more than ¾ of its capacity.
Bake for about 50 minutes, or until a cake tester or toothpick comes out clean. Time varies depending on your pan and oven, so it might take longer.
Cool for 15 minutes on a wire rack and carefully invert onto a cooling rack to let cool completely.