Я определил пользовательский оператор равенства (определение не очень важно, поэтому я вложу фиктивные вещи):
let ( ~=~ ) a b = true
Если я попытаюсь использовать его infix:
if a ~=~ b then 1 else 2
Я получаю следующую ошибку: This expression is not a function; it cannot be applied.
Я могу исправить это либо путем переименования оператора из ~=~ в =~, либо путем вызова его как функции: if (~=~) a b then 1 else 2.
Похоже, что это общая проблема с операторами, начинающимися с ~.
Мой вопрос в том, почему я не могу использовать такие операторы infix? Что-нибудь особенное в символе ~?
Примечание. Я уже просмотрел документацию, но я не смог найти ничего подходящего. Может, я что-то пропустил?