title: How to detect and debug strong reference cycles in Swift?
body: <p>In simple cases it as trivial as an intense stare at a few lines of code:</p>
  
  <pre><code>class A {
      var b: B?
  }
  
  class B {
    var a: A?
  }
  
  var a = A()
  var b = B()
  a.b = b
  b.a = a
  </code></pre>
  
  <p>How to solve this problem for >50k lines of code project (porting from Objective-C/C++). For example, is there a way to develop a tool to traverse an object graph at the run time (as is done in Java/C# worlds)? </p>