Giving Haskell a Promotion - Yorgey, B; Weirich, S; Cretin, J; Jones, S; Vytiniotis, D; aes, J (ACM, 2012)