interface IList { data(): T; next(): string; } class List implements IList { data(): U; next(): string; }