Как можно было бы преобразовать Дискриминационный союз в F # в Scala:
type Expr =
| Val of String
| Integer of Int32
| Lower of Expr * Expr
| Greater of Expr * Expr
| And of Expr * Expr
| Or of Expr * Expr
Существует аналогичный пост, говорящий о ADT в F # и Scala, но это не похоже на то, что я хочу.