title: Does matching in ocaml call the constructor?
body: <p>Let's say I define a type in OCaml this way:</p>
  
  <pre><code>type 'a foo = My_none | Bar of 'a;;
  </code></pre>
  
  <p>When making</p>
  
  <pre><code>let a = Bar 4;;
  </code></pre>
  
  <p>The <code>Bar</code> constructor is "called".</p>
  
  <p>In the following function, does the matching call the constructor, or simply "recognize" the pattern without calling the constructor?</p>
  
  <pre><code>let get_bar x = match x with
       | My_none -&gt; failwith "None"
       | Bar z -&gt; z;;
  </code></pre>