There are a bunch of weird cases that maybe we should highlight, like the difference in memory representation between: ```ocaml { x: int; y: int } | A of { x: int; y: int } | B of (int * int) | B of int * int ``` is not super intuitive...