   case Array([Yaml])
   case Dictionary([Yaml: Yaml])
   case Invalid(Swift.String)
-
+}
+
+extension Yaml: NilLiteralConvertible {
   public init(nilLiteral: ()) {
     self = .Null
   }
-
+}
+
+extension Yaml: BooleanLiteralConvertible {
   public init(booleanLiteral: BooleanLiteralType) {
     self = .Bool(booleanLiteral)
   }
-
+}
+
+extension Yaml: IntegerLiteralConvertible {
   public init(integerLiteral: IntegerLiteralType) {
     self = .Int(integerLiteral)
   }
-
+}
+
+extension Yaml: FloatLiteralConvertible {
   public init(floatLiteral: FloatLiteralType) {
     self = .Double(floatLiteral)
   }
-
+}
+
+extension Yaml: StringLiteralConvertible {
   public init(stringLiteral: StringLiteralType) {
     self = .String(stringLiteral)
   }

  public init(unicodeScalarLiteral: StringLiteralType) {
    self = .String(unicodeScalarLiteral)
  }

  public init(arrayLiteral elements: Yaml...) {
    var array = [Yaml]()
    array.reserveCapacity(elements.count)

    }
    return docs
  }
}

extension Yaml {
  public subscript(index: Swift.Int) -> Yaml {
    get {
      assert(index >= 0)
