What are GADTs and why do they make type inference sad? | Heykuki News