let arr1: number[] = [1, 2, 3];
let arr2: (number | string)[] = ["1", 2, 3];
let arr3: [null, string] = [null, "1"];
let arr4: [string, number, null?] = ["1", 2]
let arr5: [string, null, ...number[]] = ["1", null, 1, 2, 3]
let arr6: [string, null, ...(number | string)[]] = ["1", null, 1, 2, "3"]
let obj1: {x: number,y: string
} = {x: 1,y: "1"
};
let obj2: {x: number,y: string,[props: string]: number | string
} = {x: 1,y: "1",z: 12,t: 22,u: "22"
}
let obg3: {x: number,y: string,z?: boolean
} = {x: 1,y: "1"
};