 }
 
 func missingReturnDocumentation(declaration: String, comment: String) -> Bool {
-    return declaration.containsString("->") && !commentReturns(comment)
+    let outsideBraces = NSMutableString(string: declaration)
+    regex("(\\s*->\\s*).*[^(]\\)").replaceMatchesInString(outsideBraces, options: [],
+        range: NSRange(location: 0, length: outsideBraces.length), withTemplate: "")
+
+    return outsideBraces.containsString("->") && !commentReturns(comment)
 }
 
 func superfluousReturnDocumentation(declaration: String, comment: String,

}

func delcarationReturns(declaration: String, kind: SwiftDeclarationKind) -> Bool {
    return declaration.containsString("->") || SwiftDeclarationKind.variableKinds().contains(kind)
}

func commentHasBatchedParameters(comment: String) -> Bool {

            "/// Returns false\nvar no: Bool { return false }",
            "/// docs\nvar no: Bool { return false }",
            "/// docs\n/// - throws: NSError\nfunc a() throws {}",
            "/// docs\n/// - parameter param: this is void\n/// - returns: false" +
            "\npublic func no(param: (Void -> Void)?) -> Bool { return false }",
            "/// docs\n/// - parameter param: this is void" +
            "\n///- parameter param2: this is void too\n/// - returns: false",
            "\npublic func no(param: (Void -> Void)?, param2: String->Void) -> Bool {return false}",
            "/// docs\n/// - parameter param: this is void" +
            "\npublic func no(param: (Void -> Void)?) {}",
            "/// docs\n/// - parameter param: this is void" +
            "\n///- parameter param2: this is void too" +
            "\npublic func no(param: (Void -> Void)?, param2: String->Void) {}",
        ],
        triggeringExamples: [
            "/// docs\npublic func a(param: Void) {}\n",
