Given optional tuple elements, which assignability relationship does TypeScript actually enforce, and why is the marked line accepted?type A = [number, string?]; type B = [number]; let a: A = [1, "x"]; let b: B = [1]; a = b; // accepted