optionalBindingParametersInOverloads2.ts(1,10): error TS7010: 'foo', which lacks return-type annotation, implicitly has an 'any' return type.
optionalBindingParametersInOverloads2.ts(8,7): error TS2322: Type 'boolean' is not assignable to type 'string'.
optionalBindingParametersInOverloads2.ts(8,23): error TS2322: Type 'string' is not assignable to type 'boolean'.


==== optionalBindingParametersInOverloads2.ts (3 errors) ====
    function foo({ x, y, z }?: { x: string; y: number; z: boolean });
             ~~~
!!! error TS7010: 'foo', which lacks return-type annotation, implicitly has an 'any' return type.
    function foo(...rest: any[]) {
    
    }
    
    foo({ x: "", y: 0, z: false });
    
    foo({ x: false, y: 0, z: "" });
          ~
!!! error TS2322: Type 'boolean' is not assignable to type 'string'.
!!! related TS2793 optionalBindingParametersInOverloads2.ts:2:10: The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible.
                          ~
!!! error TS2322: Type 'string' is not assignable to type 'boolean'.
!!! related TS2793 optionalBindingParametersInOverloads2.ts:2:10: The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible.