title: OCaml Where did I make an error?
body: <p>How to correct this error ?</p>
  
  <pre><code>type 'a drzewo = | Puste | Wezel of 'a * 'a drzewo * 'a drzewo
  
  let rec inorder t =
    match t with
    | Puste -&gt; print_int (-1)
    | Wezel (v, l, r) -&gt; (inorder l; print_int v; inorder r)
  
  let tree =
    (1,
     (Wezel (2, (Wezel (3, Puste, Puste)),
        (Wezel (4, (Wezel (5, Puste, Puste)), Puste)))),
     (Wezel (6, Puste, Puste)))
  
  let _ = inorder tree
  </code></pre>
  
  <p>And the log of error:</p>
  
  <blockquote>
    <p>let _ = inorder tree;; Error: This expression has type int * int
    drzewo * int drzewo
           but an expression was expected of type int drzewo</p>
  </blockquote>