     public var leaves: [T] {
         
         func flattened(accum: [T], tree: Tree) -> [T] {
+            
             switch tree {
             case .branch(_, let trees):
                 return trees.reduce(accum, flattened)

    
    /// The payload of a given `Tree`.
    public var value: T {
        switch self {
        case .leaf(let value):
            return value

    
    /// - returns: A new `Tree` with the given `value` as payload.
    public func updating(value: T) -> Tree {
        
        switch self {
        case .leaf:
            return .leaf(value)
