                 s.append(sv)
             }
         }
+
         if count(s) > 0 {
             return s[0] // FIXME
         }

    }

    var relatedViews: [LayoutViewName] {
        var d = [LayoutViewName]()
        switch self {
        case View(let v):
            for i in v.relatedViews {
                d.append(i)
            }
        case Composition(let c):
            for i in c {
                for j in i.relatedViews {
                    d.append(j)
                }
            }
        default:
            break;
        }
        return d
    }

    var viewsDictionary: [NSObject:AnyObject] {

    }

    public init(composition elements: VisualFormat...) {
        let t = flatMap(elements) { e -> [VisualFormat] in
            switch e {
            case Composition(let c):
                return c
            default:
                return [e]
            }
        }
        self = .Composition(t)
