#lang plait
;; A type can have any number of variants:
(define-type Shape
[Square (length : Number)]
[Circle (radius : Number)]
[Triangle (height : Number)
(width : Number)])
(Triangle? (Triangle 10 12)) ; => #t
#lang plait
;; A type can have any number of variants:
(define-type Shape
[Square (length : Number)]
[Circle (radius : Number)]
[Triangle (height : Number)
(width : Number)])
(Triangle? (Triangle 10 12)) ; => #t