title: "failwith" is no longer allowed?
body: <p>I have a list of <code>.ml</code> to compile defined in my <code>makefile</code>, finished by <code>main/mail.ml</code>.</p>
  
  <p>I have some <code>failwith "to do"</code> as body of some functions in these files. Before, I remember that it raises an error only when the runtime execution requires that function. </p>
  
  <p>Today the compilation of all my <code>.ml</code> works fine: <code>.cmi</code>, <code>cmx</code> and <code>.o</code> are all generated. But when I launch the main binary, it does not seem to run first what is in <code>let ()</code> of <code>main.ml</code>, instead, it seems that it checks first all the files of the list <code>.ml</code> in <code>makefile</code>, and raises <code>Fatal error: exception Failure("to do") make: *** [all] Error 2</code> when it meets the first <code>faiwith "to do"</code>.</p>
  
  <p>I find this behavior very odd, could anyone tell me what might be the reason? There is something wrong in my <code>makefile</code> or <code>main.ml</code>?</p>