title: How to use in a submodule a exception created in module (in ocaml)
body: <p>I have a module type  <code>A</code> with an exception. <code>A</code> will be implemented by <code>B</code> and <code>C</code> </p>
  
  <pre><code>module type A = sig
    type t
    val f: t-&gt;t-&gt;t
    exception DivisionParZero
  end
  
  
  module B : A = struct
    type t = int
    let f a b=
      if (a==0) then raise DivisionParZero else b/a
    end
  end
  </code></pre>
  
  <p>Ocamlc says when it compiles B:</p>
  
  <blockquote>
    <p>Error: This variant expression is expected to have type exn
           The constructor DivisionParZero does not belong to type exn</p>
  </blockquote>
  
  <p>I don't understand why it doesn't work.</p>