Я знаю, что можно определить рекурсивные модули, знает ли кто-нибудь, как определить рекурсивные подписи? Например, я хотел бы реализовать:
module type AAA = sig
module Bbb : BBB
type 'a t
val f : 'a Bbb.t -> 'a t
end
module type BBB = sig
module Aaa : AAA
type 'a t
val g : 'a Aaa.t -> 'a t
end
Кто-нибудь может помочь?