OCaml является языком со строгой типизацией, поэтому в общем случае нет способа "приведения типов" из одного типа в другой.
Однако вы можете написать функцию, которая преобразует один тип в другой. Например, есть встроенная функция с именем float_of_int
, которая преобразует число с плавающей точкой в int. Существует также int_of_float
(который отбрасывает любую дробную часть значения с плавающей запятой).
Вы можете легко написать функции в похожем духе для преобразования между двумя типами.
Вот код, который содержит все идеи, которые вам нужны (я думаю):
type mytype = MyConstructor of int
let increment (MyConstructor x) = MyConstructor (x + 1)