Hu, L., & Hutton, G. (2010). Compiling concurrency correctly: cutting out the middle man.