 
         // Setup arguments
         assert(arguments.count + 2 <= Int(sig.numberOfArguments), "Too many arguments for calling -[\(target.dynamicType) \(selector)]")
-        var args = [[Word]](count: arguments.count, repeatedValue: [])
+        var args = [[UInt]](count: arguments.count, repeatedValue: [])
         for var i = 0; i < arguments.count; ++i {
             let type = sig.getArgumentTypeAtIndex(i + 2)
             let typeChar = Character(UnicodeScalar(UInt8(type[0])))


    private func getterOfName(name: String) -> Selector {
        var getter = Selector()
        let property = class_getProperty(self.target.dynamicType, name)
        if property != nil {
            let attr = property_copyAttributeValue(property, "G")
            getter = Selector(attr == nil ? name : String(UTF8String: attr)!)

        case "d": return num?.doubleValue
        case "B": return num?.boolValue
        case "v": return Void()
        case "*": return (object as? String)?.nulTerminatedUTF8.withUnsafeBufferPointer{ COpaquePointer($0.baseAddress) }
        case ":": return object is String ? Selector(object as! String) : Selector()
        case "@": return object
        case "#": return object
