Prepare a 9x9" baking pan by greasing it generously. Set aside.
Line a baking sheet with parchment paper and turn the broiler on low. Add approximately 1/3 of the marshmallows to the baking sheet, but don't put them in the oven yet (Note: this step is optional, but helps replicate the flavor of roasted marshmallows. If you want to avoid the extra step, simply add all of the marshmallows to the large bowl in the next step).
Place the butter (and salt, if using) in a large microwave-safe bowl. Microwave on high until melted (approximately 1 minute, check after 30 seconds). Add the remaining marshmallows to the bowl and stir. Microwave until the marshmallows are melted (30-45 seconds, up to a minute if using all of the marshmallows). Stir in the vanilla until the mixture is uniform.
Put the baking sheet with the remaining marshmallows in the oven now. Keep your eyes on them to avoid burning, as they will toast very quickly. Remove the baking sheet from the oven as soon as the marshmallows are browned on the top. Transfer the toasted marshmallows to the large bowl.
Add the rice krispies and crushed graham crackers. Quickly fold the mixture together. Stir in the chocolate. Quickly transfer the mixture to the prepared baking pan and gently press the mixture into the pan. Leave it at room temperature to set, approximately 30 minutes.
Cut into 16 pieces and eat immediately, or store in an airtight bag or container at room temperature.