This is related #5423 #5452 ```rescript type t0 = {@optional x: int} let f0: t0 = {x: 1} // x: option<int> let {x} = f0 // x: int instead option<int> ``` I think there's a type mis-match after destructuring. Isn't it correct that type of x is `option<int>`?