Component.Combinational
module type S = sig ... end
type ('i, 'o) t = (module S with type Input.t = 'i and type Output.t = 'o)