sum Shape { variant Rectangle; variant Triangle; } struct Rectangle { field width: Int32; field height: Int32; } struct Triangle { field width: Int32; field height: Int32; }