title: Accessing property values in F# constructors
body: <p>Sorry if this is basic, but I'm still wrapping my head around F#.</p>
  
  <p>I want to do this:</p>
  
  <pre><code>type Person(user:User) as this =
      member val Name = "" with get, set
      user.UserId &lt;- this.Name
  </code></pre>
  
  <p>But that gives me the error <code>Unexpected identifier in member definition</code>.</p>
  
  <p>This compiles:</p>
  
  <pre><code>type Person(user:User) as this =
      do 
         user.UserId &lt;- this.Name
      member val Name = "" with get, set
  </code></pre>
  
  <p>But gives me an <code>InvalidOperationException</code> at runtime.</p>
  
  <p>I've settled for this:</p>
  
  <pre><code>type Person(user:User) =
      member val Name = "" with get, set
  
      member this.Setup() = 
         user.UserId &lt;- this.Name
  </code></pre>
  
  <p>But I don't like having to call <code>person.Setup()</code> each time.</p>
  
  <p>What's the best F-Sharpy way to do this?</p>