I haven’t had lunch with Simon for awhile (it’s hard since he’s in Cambridge and only visits main campus occasionally) but he publishes papers at an amazing pace, and every time his language, Haskell, and the world gets a lot smarter. Here he introduces the concept of “roles” to aid in the problems that occur …