Type-directed compilation for multicore programming - Kohei Honda (2010)