Plain Functional Programming talk by Martin Odersky