title: Lazy load MirrorType
body: <p>Let's say I have something like this</p>
  
  <pre><code>struct A {
      lazy var b: String = { return "Hello" }()
  }
  </code></pre>
  
  <p>If I try to reflect struct A and access the value for b through its <code>MirrorType</code> like so:</p>
  
  <pre><code>var a = A()
  var r = reflect(a)
  
  for i in 0..r.count {
      let (n, m) = r[i]
      println("\(m.value)")
      var c = a.b
      println("\(m.value)")
  }
  </code></pre>
  
  <p>I get <code>nil</code> in the console both times. Note that the underlying value type is <code>Swift.Optional&lt;Swift.String&gt;</code>, and the variable name is somewhat confusingly <code>b.storage</code>. Is there a way to access the underlying value of a lazy-loaded variable using reflection or initialize it from its <code>MirrorType</code> or am I stuck waiting for someone to write a first-class reflection api for Swift?</p>