title: Type x is less accessible than the value
body: <p>Here's an abstraction of my code:</p>
  
  <pre><code>module RootModule
  
  module private SubModule = // I want everything in this module to be inaccessible from outside the file
      let getLength s = String.Length s
      type MyType (s: string) =
          let _str = s
          member this.GetStringLength = getLength _str // for sake of simplicity, a bogus method
  
  let myExternalValue = new SubModule.MyType("Hello")
  </code></pre>
  
  <p>I get the error <code>Type 'MyType' is less accessible than the value, member, or type: 'val myExternalValue: SubModule.MyType' it is used in</code></p>
  
  <p>Why can't I have public accessors to a private class instance like this? Note that I'm using the <code>RootModule</code> in a different file alltogether, and only wish to have <code>myExternalValue</code> be visible in the other file</p>