This is OK: ```res type t = | Array(array<int>) | Record({x:int}) ``` But this is wrong: ```res @unboxed type t = Record({x: int}) | Array(array<int>) let classify = v => switch v { | Record({x}) => x | Array(a) => a[0] } ``` ```js function classify(v) { if (typeof v === "object") { return v.x; } else { return Caml_array.get(v, 0); } } ```