I gave a talk last night at the Ed Lambda, the Edinburgh functional programming meetup, on “Theorems for Free”. This was (I hope) a fairly high-level talk about how free theorems are derived, and some extensions to other kinds of polymorphism that I've worked on recently. Here are the slides I used:
I didn't include much in the way of references to the literature in the talk, but the main paper to look at if you are interested is Phil Wadler's classic Theorems for Free! (warning: PostScript!).
Thanks for Rob Stewart for organising things!