             switch base {
             case let .undecoded(value):
                 
-                guard var array = value.arrayValue else { fatalError("Not an array.") }
+                guard var array = value.array else { fatalError("Not an array.") }
                 if index >= array.count {
                     array.append(contentsOf: repeatElement(nil, count: index - array.count + 1))
                 }

        switch type {
        case .null: return "nil"
        case .boolean: return "\(boolValue!)"
        case .string: return "\"\(stringValue!)\""
        case .signed: return "\(int64Value!)"
        case .unsigned: return "\(uint64Value!)"
        case .number: return "\(doubleValue!)"

    }
    
    @inlinable
    public var string: String? {
        return base.string
    }
    
    @inlinable
    public var binary: Data? {
        return base.binary
    }
    
    @inlinable
    public var uuid: UUID? {
        return base.uuid
    }
    
    @inlinable
    public var array: [SDObject]? {
        return base.array
    }
    
    @inlinable
    public var dictionary: [String: SDObject]? {
        return base.dictionary
    }
}

