For the Butterscotch Cream Mixture: In a large bowl (or the bowl of a stand mixer), beat the egg yolks until they lighten in color.
Gradually add the 1/3 cup sugar, and continue to beat until it is completely dissolved. Set aside.
In a saucepan over medium-high heat, stir the milk, cream and spices, and bring just to a boil, stirring occasionally.
Remove the pan from the heat, and gradually add small amounts of the hot mixture into the egg and sugar mixture, whisking the entire time.
Pour everything back into the pot, and heat until the mixture reaches 160 degrees F. Remove from the heat, and stir in the butterscotch schnapps and bourbon or rum (if using).
Pour the butterscotch cream mixture into a bowl, cover, and chill in the refrigerator.
For the Beer Mixture: In a saucepan over medium-high heat, warm the beer. Add the sugar, and whisk until the sugar dissolves. Add the butter, and whisk until it melts. Whisk in a pinch of salt, and remove from the heat.
To Serve Warm: Pour the warm beer mixture into glasses. Set aside. Whisk your butterscotch cream mixture (or froth it with an immersion blender), add a small amount to the glass, and stir. Serve immediately.
To Serve Cold: Let the warm beer mixture cool to room temperature. Set aside. Whisk your butterscotch cream mixture (or froth it with an immersion blender), add it to the glass, and stir. Serve immediately. (If you’ve been storing the beer mixture in the fridge, it will have a layer of butter and sugar collected on its surface, so you’ll need to warm it over low heat before adding it to the cold butterscotch cream.)