To prepare the cazon filling, bring a large pot of water to a boil and add the fish, epazote sprigs and salt. Simmer on low until the fish is cooked through, about 10 to 12 minutes. Drain the fish and set aside to cool slightly, then remove the skin and shred. Set aside.
Heat 3 tablespoons of the lard in a large sauté pan and cook the chopped onion and chopped epazote leaves until soft, about 5 minutes. Add the shredded fish and the remaining 3 tablespoons of lard, and cover and cook until warmed through, about 5 to 6 minutes. Remove from heat and stir in the bitter orange juice.
Meanwhile, prepare the tomato sauce. In a blender, puree 2 cups of the chopped tomatoes. Transfer the puree to a medium pot set over medium-high heat and add the remaining chopped tomatoes, 3 tablespoons of lard, thinly sliced onion, 1/4 cup chopped epazote leaves and salt. Bring to a boil, reduce to a simmer and cook until the onions and tomatoes are soft, about 15-20 minutes.
To assemble, dip a tortilla into the black bean puree and coat lightly on both sides. Place in the center of a plate. Top with about 2 tablespoons of the cazon filling, then repeat the process of dipping a tortilla and topping with the cazon filling two more times for a total of 3 layers. ingredients.
Coat a fourth tortilla on one side only lightly with bean puree, and place bean-side down on the top of the stack. Ladle about 1 1/2 cups of the tomato sauce over the top. Top with a charred habanero, and garnish with avocado slices on the side. Repeat the process 3 more times for 4 servings.
NOTE: The most authentic version of this recipe uses roasted cazón or dog fish. However, substitutes work wonderful, as well.