Assinaturas de tipo explícito OCaml

Em Haskell, é considerado uma boa prática declarar explicitamente a assinatura de tipo de suas funções, mesmo que possa (geralmente) ser inferida. Parece que isso nem é possível no OCaml, por exemplo,

val add : int -> int -> int ;;

me dá um erro. (Embora eu possa fazertypeódulos que fornecem apenas assinaturas

Acho que não é possível fazer isso no OCaml? Se sim, por quê? O sistema de tipos do OCaml não parece tão incrivelmente diferente do Haskel

questionAnswers(2)

yourAnswerToTheQuestion