title: multiple constructors and class inheritance in F#
body: <p>I am having difficulty to convert following C# code to F#:</p>
  
  <pre class="lang-cs prettyprint-override"><code>class Foo
  {
      public Foo() { }
      public Foo(string name) { }
  }
  
  class Bar : Foo
  {
      public Bar() : base() { }
      public Bar(string name) : base(name) { }
      public string Name { get; set; }
  }
  </code></pre>
  
  <p>I first tried following, but it is reporting error </p>
  
  <blockquote>
    <p>Constructors for the type 'Bar' must directly or indirectly call its
    implicit object constructor. Use a call to the implicit object
    constructor instead of a record expression.</p>
  </blockquote>
  
  <pre><code>type Foo() =
      new(name:string) = Foo()
  
  type Bar() =
      inherit Foo()
      new(name:string) = { inherit Foo(name) }
      member val Name:string = null with get, set
  </code></pre>
  
  <p>Then I tried following, but it is now reporting error on the auto property </p>
  
  <blockquote>
    <p>'member val' definitions are only permitted in types with a primary
    constructor. Consider adding arguments to your type definition"</p>
  </blockquote>
  
  <pre><code>type Foo() =
      new(name:string) = Foo()
  
  type Bar =
      inherit Foo
      new(name:string) = { inherit Foo(name) }
      member val Name:string = null with get, set
  </code></pre>