Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire (1991)Waaah! Language theory! So much notation! Waaaaaah!