declare type numOrString = string | number
data Empty()
data Leaf(n)
data Node(l, r)
def size(Empty()) = 0
addpattern def size(Leaf(n)) = 1
addpattern def size(Node(l, r)) = size(l) + size(r)
Languages with Algebraic Data Type include TypeScript, Coconut
View all concepts with or missing a hasAlgebraicTypes measurement
Read more about Algebraic Data Type on the web: 1.