Respostas:
As fundações de software de Benjamin C. Pierce seriam um bom ponto de partida. Seria um bom precursor para seus tipos e linguagens de programação . Há também a teoria dos tipos e a programação funcional de Simon Thompson e as provas e tipos de Girard .
O Barendregts Lambda Calculi with Types é mais avançado, mas aborda alguns tópicos importantes na teoria "clássica" dos tipos.
O livro de Robert Harper, Fundamentos práticos para linguagens de programação (disponível como rascunho on-line: http://www.cs.cmu.edu/~rwh/plbook/book.pdf ) é uma alternativa um pouco mais intensa aos tipos e linguagens de programação.
É mais sobre fundamentos matemáticos e menos sobre ciência da computação, mas o livro Homotopy Type Theory: Univalent Foundations of Mathematics está disponível gratuitamente em formato pdf sob uma licença CC.
Outro bom livro que tece a teoria dos tipos com a programação em uma linguagem funcional é o de Didier Remy, Como usar, entender e desvendar a linguagem OCaml .