Я строю две библиотеки в OCaml, которые содержат один и тот же тип варианта.Детали этого варианта не слишком важны, кроме того, что он действительно большой, и было бы неудобно писать для него функции преобразования вручную.(На самом деле это перечисление bfd_architecture, преобразованное из C с помощью ocamlidl).
Сейчас я пишу программу с использованием двух библиотек.В частности, я вызываю Af, которая возвращает значение A.variant_type, и мне нужно использовать это значение в вызове Bg, который принимает значение B.variant_type в качестве ввода.
Есть лиЛюбой способ сказать OCaml, что A.variant_type и B.variant_type действительно одного типа, и, таким образом, можно преобразовать значение из одного в другое?Библиотеки независимы, поэтому они не должны ссылаться друг на друга.Прямо сейчас я использую Obj.magic, чтобы сделать преобразование, но это хак.