title: Why function argument cannot be polymorphic in Ocaml?
body: <p>say if I have the following function:</p>
  
  <pre><code>let rejected f = (f 1, f "hi");;
  </code></pre>
  
  <p>It is rejected by the type checker, I don't really understand why the type check reject it. Since f can be a polymorphic function (say <code>id</code>), and the type checker should allow it. Can somebody explain?</p>