Hu, Liyang, Hutton, Graham, "Compiling concurrency correctly: cutting out the middle man", , 2010