One can use GADT to express Existentially quantified types.
I see that GADT is more generic - data-type-extensions, paragraph section 7.4.7
When it's better to use Existentially quantified types then GADT? Are there any drawbacks using GADT compared to Existentially quantified types?