/// A 2D shape. sum Shape { variant Rectangle; variant Triangle; field width: Int32; } struct Rectangle { field width: Int32; field height: Int32; } struct Triangle { field width: Int32; field height: Int32; }