// @target: es2015
// @noStrictGenericChecks: true

type A = <T, U>(x: T, y: U) => [T, U];
type B = <S>(x: S, y: S) => [S, S];

function f(a: A, b: B) {
    a = b;  // Error disabled here
    b = a;  // Ok
}
