GADT pattern matching fix