// some complex cases of assignment compat of generic signatures. interface I2 { p: T } var x: >(z: T) => void var y: >>(z: T) => void // These both do not make sense as we would eventually be comparing I2 to I2>, and they are self referencing anyway x = y y = x