 
 // MARK: protocol UnpackedType
 
-protocol Unpackable {}
+public protocol Unpackable {}
 
 extension NSString: Unpackable {}
 extension Bool: Unpackable {}

    return s as String
}

func unhexlify(_ string:String) -> Data? {
    
    // similar to unhexlify() in Python's binascii module
    // https://docs.python.org/2/library/binascii.html

 - Pascal strings 'p' and native pointers 'P' are not supported
 */

public enum BinUtilsError: Error {
    case formatDoesMatchDataLength(format:String, dataSize:Int)
    case unsupportedFormat(character:Character)
}

public func pack(_ format:String, _ objects:[Any], _ stringEncoding:String.Encoding=String.Encoding.windowsCP1252) -> Data {
    
    var objectsQueue = objects
    
