title: Removing element of list with forward recursion
body: <p>I'm writing a program which remove first element which fit to predicate eg.</p>
  
  <pre><code>remove' (fun x -&gt; x = 2) [1;3;2;4;2] =&gt; [1;3;4;2]
  </code></pre>
  
  <p>and the problem is: how to write it with foward recursion? Is it possible? With tail recursion it is not a problem. I just add next elements to acc if they are not fit to predicate.</p>
  
  <p>I was thinking about</p>
  
  <pre><code>List.fold_right,
  </code></pre>
  
  <p>but maybe is there different way to do this?</p>