Role
module Alignment : sig ... end
module Kind : sig ... end
module type S = sig ... end
module type InputS = sig ... end
module Make (K : Kind.S) (X : InputS with type kind = K.t) : S with type t = X.t and module Kind = K and type kind = K.t