title: let rec for values and let rec for functions in ocaml
body: <p>What is the best intuition for why the first definition would be refused, while the second one would be accepted ?</p>
  
  <pre><code>let rec a = b (* This kind of expression is not allowed as right-hand side of `let rec' *)
  and b x = a x
  
  let rec a x = b x (* oki doki *)
  and b x = a x
  </code></pre>
  
  <p>Is it linked to the 2 reduction approaches : one rule for every function substitution (and a Rec delimiter) VS one rule per function definition (and lambda lifting) ?</p>