title: Assume val and opaque type constructs in F*
body: <p>I'm new to F* and although the tutorial is well-written I'm missing some good API page for reference.</p>
  
  <p>So I need the precise meaning for the following constructs:</p>
  
  <pre><code>assume val name: type
  </code></pre>
  
  <p>I'd say this line registers into the solver the name being used?</p>
  
  <pre><code>opaque type name (...) ...
  </code></pre>
  
  <p>What is the effect of calling a type opaque? What about the lists of parameters it may take?</p>
  
  <p>Please include the references you may have used to give this answer.</p>