title: Why does each neuron generate the same UUID when I instance a new one?
body: <pre><code>import Foundation
  
  struct Neuron {
      let id = UUID()
  
      func doSomeStuff() {
      // stuff
      }
  }
  
  let layer:[Neuron] = Array(repeating: Neuron(), count: 5)
  </code></pre>
  <p>When running:</p>
  <pre><code>for neuron in layer {
      print(neuron.id)
  }
  </code></pre>
  <p>Every Neuron object gets given the same UUID instead of its’ own unique ID. I feel like I’m just missing the obvious here, or I’m misunderstanding how structures work?</p>
  <p>I’m having the same issue with other properties in my full code but this is a cut down version for ease.</p>
  <p>Thanks!</p>