Session Types for Linear Multithreaded Functional Programming - Vasco T. Vasconcelos (2010)