Конструкторы типов 
Ахтунг
Необходимо переписать.
В стандартной библиотеке можно часто увидеть такие функции как create, make или init. Все они используются для создание экземпляра значения, вроде списков или строк. Но какие они имеют значение?
Что использовать для своего типа?
Используйте make, если у вас этот случай. В ином случае create.
create 
Эта функция создаёт экземпляр из каких-нибудь параметров, не говоря о содержимом.
Пример
Так, например, Bytes.create выделяет кусок памяти (байт), значение в котором никак не проинициализированы. Там могут находиться как пустые ячейки так и "мусор".
ocaml
# Bytes.create 10;;
- : bytes = Bytes.of_string "\b\194\187\148,\127\000\000\000\000"make 
Зачастую используется для инициализации коллекции неким значением.
Пример
ocaml
# Array.make 3 "yo";;
- : string array = [|"yo"; "yo"; "yo"|]init 
Даёт возможность инициализировать коллекцию при создание своим способом.
Пример
ocaml
# Array.init 3 (sprintf "yo%d");;
- : string array = [|"yo0"; "yo1"; "yo2"|]