Module AltErgoLib.Enum

type 'a abstract =
  1. | Cons of Hstring.t * Ty.t
  2. | Alien of 'a
module type ALIEN = sig ... end
module Shostak (X : ALIEN) : Sig.SHOSTAK with type r = X.r and type t = X.r abstract