Синтаксический анализ этого подвыражения:
compare_v Value(9)
Примерно так:
(compare_v Value) (9)
В приложении функции OCaml обозначается просто сопоставлением (помещая два выражения рядом),и это остается ассоциативным. В этом выражении у вас есть три выражения рядом:
compare_v Value (9)
Левая ассоциативность дает результат, который вы видите.
Что вы должны написать:
compare_v (Value 9)
В OCaml вам нужно использовать круглые скобки иначе, чем в основных (Algolic) языках. В частности, скобки не имеют ничего общего с вызовом функции.