Module AltErgoLib.Enum

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