Type matching
“is” operator
v is T
“switch type” statement
switch type (v) {
case (d : Date) {
}
default {
}
}
switch type also works on algebraic data types:
switch type (exp) {
case (Plus(10, right)) {
}
}
“if let” statement
if (let Plus(10, right) = exp) {
}