As a non-English-speaking person, I did learn a lot of puns from Reddit. Reading a reasoned discussion and a joke answer both helped.