Module Parallel_kernel.Hlist

module type T1 = sig ... end

Types with a single parameter.

module Gen (T : T1) : sig ... end
module Id : sig ... end
type 'a t = 'a Gen(Id).t =
  1. | [] : Base.unit t
  2. | :: : 'a * 'b t -> ('a * 'b) t

('hd * 'tl) t is a heterogeneous list containing a head of type 'hd and a tail of type 'tl t.