Elements

It would be great to be able to generate an array from BSTelements. This can be done as follows:

var elements: [Element] { 
switch self {
case .leaf:
return []
case .node(let lhs, let element, let rhs):
return lhs.elements + [element] + rhs.elements
}
}