File "t11bad.ml", lines 12-13, characters 7-55: 12 | .......and B : sig type 'a t = end 13 | = struct type 'a t = end.. Error: This recursive type is not regular. The type constructor B.t is defined as type 'a B.t but it is used as 'a array B.t. All uses need to match the definition for the recursive type to be regular.