             let substructure = statement.substructure
 
             if !substructure.isEmpty {
-                result.formUnion(varLetLineNumbers(file: file,
-                                                   structure: substructure,
-                                                   attributeLines: &attributeLines))
-            }
-        }
-        return result
+                varLetLineNumbers(file: file,
+                                  structure: substructure,
+                                  attributeLines: &attributeLines,
+                                  collectingInto: &result)
+            }
+        }
     }
 
     // Collects all the line numbers containing comments or #if/#endif

    // Collects all the line numbers containing var or let declarations
    private func varLetLineNumbers(file: SwiftLintFile,
                                   structure: [SourceKittenDictionary],
                                   attributeLines: inout Set<Int>) -> Set<Int> {
        var result = Set<Int>()

        for statement in structure {
            guard statement.kind != nil,
                  let (startLine, endLine) = lineOffsets(file: file, statement: statement) else {

        let dict = file.structureDictionary

        var attributeLines = attributeLineNumbers(file: file)
        var varLines = Set<Int>()
        varLetLineNumbers(file: file,
                          structure: dict.substructure,
                          attributeLines: &attributeLines,
                          collectingInto: &varLines)
        let skippedLines = skippedLineNumbers(file: file)
        var violations = [StyleViolation]()

