В общем, синтаксис для let
-привязать значение с ограниченным типом:
let val : constraint = e ...
Применительно к функции вы можете указать подпись следующим образом:
let add : int -> int -> int = fun x y -> ...
Это аналогично синтаксису, необходимому для ограничения модуля подписью:
module Mod
: sig ... end
= struct ... end