                     }
                 }
                 let iKeyString = String.fromCString(iKey, length: iKeyLength)
-                let getter : () -> Any? = {
+                let getter : () -> [String : Any]? = {
                     var iData: UnsafeMutableRawPointer? = nil
                     var iDataLength: Int = 0
                     levelDBIteratorGetValue(iterator, &iData, &iDataLength);

        }
    }
    
    open func valuesForKeys(_ keys: [String]) -> [Any?] {
        var result = [Any?]()
        for key in keys {
            result.append(self[key])
        }

import CLevelDB

public typealias LevelDBKeyBlock = (String, UnsafeMutablePointer<Bool>) -> Void
public typealias LevelDBKeyValueBlock = (String, [String : Any], UnsafeMutablePointer<Bool>) -> Void
public typealias LevelDBLazyKeyValueBlock = (String, () -> [String : Any]?, UnsafeMutablePointer<Bool>) -> Void

public func SearchPathForDirectoriesInDomains(_ directory: FileManager.SearchPathDirectory, _ domainMask: FileManager.SearchPathDomainMask, _ expandTilde: Bool) -> [String] {
    let bundle = Bundle.main
