         
         return nil
     }
-
+    
     public static func ==(lhs: Timestamp, rhs: Timestamp) -> Bool {
         return lhs.increment == rhs.increment && lhs.timestamp == rhs.timestamp
     }

            return nil
        }
    }

    public func getValue(forKey key: String) -> Primitive? {
        return self[key]
    }

    public mutating func setValue(to newValue: Primitive?, forKey key: String) {
        self[key] = newValue
    }

    public func getKeyValuePairs() -> [String : Primitive] {
        return self.dictionaryValue
    }
    
    public typealias SupportedValue = Primitive
    public typealias HashableKey = String
    
    public init(dictionary: [String: Primitive]) {
        let elements: [(String, Primitive?)] = dictionary.map {
            ($0.0, $0.1)
