         
         guard let parameters = parseTupleType() else { return nil }
         
-        let `throws` = scanner.scanString(string: "throws") != nil
+        let `throws` = scanner.scanString("throws") != nil
         // - rethrows is not allowed for closures
         
-        guard scanner.scanString(string: "->") != nil else { scanner.scanLocation = originalLocation; return nil }
+        guard scanner.scanString("->") != nil else { scanner.scanLocation = originalLocation; return nil }
         
         guard let returnType = parseType() else { scanner.scanLocation = originalLocation; return nil }
         

        
        
        
        while scanner.scanString(string: ",") != nil, let type = parseTypeAnnotation() {
            types.append(type)
        }
        
        guard scanner.scanString(string: ")") != nil else { return nil }
        
        return types
    }

    }
    
    func parseTupleType() -> [Type]? {
        guard scanner.scanString("(") != nil else { return nil }
        
        var types: [Type] = []
        
