Altenkirch, T. (2001). Representations of first order function types as terminal coalgebras.