Мат. часть 
Расширяемые варианты 
Расширяемые типы вариантов - это типы вариантов, которые могут быть расширены новыми конструкторами вариантов.
Тип исключений (exn) это как раз и есть пример расширяемых вариантов. Как и алгебраические эффекты.
Конструкции fun и function 
Конструкция function является базовой конструкцией, так как эта обычная функция от одного аргумента. А вот конструкцию fun можно назвать сокращением для определения каррированой функции.
История
В Caml Light (предшественнике OCaml) ключевое слово fun могло принимать как несколько шаблонов (как function), так и несколько аргументов (как fun), но это вносило двусмысленность, которая требовала вставки круглых скобок вокруг некоторых шаблонов.
Поскольку эта проблема с лишними скобками была немного хлопотной, возможно, было решено не разрешать использование нескольких шаблонов в конструкции fun, а вместо этого вернуться к fun + match в этом случае.
Пример
let f = fun x y -> x + y
(* = *)
let f = function x -> function y -> x + y