== Why is this an issue? The point of using closure expressions is to clearly express a succinct bit of logic. Start nesting closure expressions too deeply and you create a logic snarl that will likely snare both you and future maintainers. === Noncompliant code example With the maximum depth of 2: [source,text] ---- foo(42) { (x: Int) in bar(x) { (x: Int) in foobar(x) { // Noncompliant print(x * 42) } print(x + 42) } print(x - 42) } ---- === Compliant solution [source,text] ---- func multPlus(x:Int) { foobar(x) { print(x * 42) } print(x + 42) } foo(42) { (x: Int) in bar(x, multPlus) print(x - 42) } ----