 With a type parameter we would still be restricted to a single base type.Furthermore, ill-formed expressions such as codice_1 would have been possible to construct, while they are type incorrect using the GADT.A well-formed analogue is codice_2.