     static func createEmpty() -> Styled
 }
 
-public protocol Makeable: EmptyInitializable, Styleable, ExpressibleByArrayLiteral {
+public protocol Makeable: EmptyInitializable, Styleable {
     static func make(_ attributes: [Style.Attribute]) -> Styled
     func postMake(_ style: Style)
-    associatedtype Element = Style.Attribute
 }
 
-public extension Makeable where Self.Styled == Self, Self.Style.Attribute == Element {
+public extension Styleable where Self: Makeable, Self.Styled == Self, Self.Style.Attribute == Element {
     init(arrayLiteral elements: Self.Element...) {
         self = Self.make(elements)
+    }
+}
+
+public extension Styleable where Self: Composable, Self.Style.Attribute == Element {
+    init(arrayLiteral elements: Style.Attribute...) {
+        self.init(Style(elements))
     }
 }
 


import Foundation

public protocol Styleable {
    associatedtype Style: Attributed
    func setup(with style: Style)
}

public protocol EmptyInitializable {


extension Composable {
    public func setupSubviews(with style: Style) {}
}

public extension Styleable {
