tests/cases/conformance/es6/destructuring/optionalBindingParametersInOverloads1.ts(9,5): error TS2345: Argument of type '[boolean, number, string]' is not assignable to parameter of type '[string, number, boolean]'. Types of property '0' are incompatible. Type 'boolean' is not assignable to type 'string'. ==== tests/cases/conformance/es6/destructuring/optionalBindingParametersInOverloads1.ts (1 errors) ==== function foo([x, y, z] ?: [string, number, boolean]); function foo(...rest: any[]) { } foo(["", 0, false]); foo([false, 0, ""]); ~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '[boolean, number, string]' is not assignable to parameter of type '[string, number, boolean]'. !!! error TS2345: Types of property '0' are incompatible. !!! error TS2345: Type 'boolean' is not assignable to type 'string'.