Why does this line fail to compile?interface Box<T extends object = {}> { value: T; } const b: Box<number> = { value: 1 };