 /// let b: KeyPath = ["a", "b"]
 /// let c: KeyPath = "a" => "b" => "c"
 /// ```
-public struct KeyPath: StringLiteralConvertible, ArrayLiteralConvertible {
+
+public struct KeyPath {
     var keys: [String]
+    
     public init(_ keys: [String]) {
         self.keys = keys
     }

        self.keys = [key]
    }
    
    public init(stringLiteral value: String) {
        self.keys = [value]
    }

    public init(unicodeScalarLiteral value: String) {
        self.keys = [value]
    }
}

extension KeyPath: ArrayLiteralConvertible {
    public init(arrayLiteral elements: String...) {
        self.keys = elements
    }
