interface NotEmpty‹T› { data: T; } let x: NotEmpty‹number›; let y: NotEmpty‹string›; x = y; // Error, because x and y are not compatible