Code and exercises from Simon Marlow's Par tutorial