title: OCaml: Why I can't use this operator infix?
body: <p>I defined a custom equality operator (the definition is not really important so I will insert dummy stuff):</p>
  
  <pre><code>let ( ~=~ ) a b = true
  </code></pre>
  
  <p>If I try to use it infix: </p>
  
  <pre><code>if a ~=~ b then 1 else 2
  </code></pre>
  
  <p>I get the following error:<code>This expression is not a function; it cannot be applied</code>.</p>
  
  <p>I can fix this either by renaming the operator from <code>~=~</code> to <code>=~</code> or by calling it as a function: <code>if (~=~) a b then 1 else 2</code>.</p>
  
  <p>This seems that is a general problem with operators that start with <code>~</code>.
  My question is why I can't use such operators infix? Is anything special about <code>~</code> symbol? </p>
  
  <p>Note: I already went through documentation but I couldn't find anything relevant. Maybe I missed something?</p>