  GADTs can be represented either as their Church encodings a la Atkey, or as
fixpoints a la Johann and Polonsky. While a GADT represented as its Church
encoding need not support a map function satisfying the functor laws, the
fixpoint representation of a GADT must support such a map function even to be
well-defined. The two representations of a GADT thus need not be the same in
general. This observation forces a choice of representation of data types in
languages supporting GADTs. In this paper we show that choosing whether to
represent data types as their Church encodings or as fixpoints determines
whether or not a language supporting GADTs can have parametric models. This
choice thus has important consequences for how we can program with, and reason
about, these advanced data types.
