GPT doesn't see letters, just words and parts of words as entire tokens. I would not expect it to understand that "no pun in ten did" and "no pun intended" are similar, since it can't see that at all. The only way it could plausibly understand it is if that exact comparison has been explained somewhere in the corpus before.
If you continue a long conversation where GPT has previously made mistakes and has been called out for it, it will start predicting that it's supposed to emulate a text where the joke-explainer keeps making mistakes. This causes it to start failing on purpose. Make sure to completely restart the prompt each time to not fall into that trap.