module type S =sig
..end
type 'a
t
type'a
computation ='a t
val ident : Type_generic.Ident.t
exception Not_implemented of string * string
include Type_generic_intf.S
val register0 : (module S0) -> unit
The use of first class modules there is essentially because we cannot talk about a
variable of kind * -> k
val register1 : 'a 't Typerep.t -> ('a computation -> 'a 't computation) -> unit
...
val register1 : (module S1) -> unit
val register2 : (module S2) -> unit
val register3 : (module S3) -> unit
val register4 : (module S4) -> unit
val register5 : (module S5) -> unit
val register : 'a Std_internal.Typerep.t -> 'a computation -> unit
val of_typerep : 'a Std_internal.Typerep.t -> [ `generic of 'a computation ]
module Computation:Type_generic.Computation
with type 'a t = 'a t