Я знаю, что можно определить рекурсивные модули, кто-нибудь знает, как определить рекурсивные подписи? Например, я хотел бы понять:
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
Может ли кто-нибудь помочь?