Module Higher_kinded.Make5
Parameters
Signature
type (_, _) higher_kinded
type ('a, 'w, 'x, 'y, 'z) t
type witness5
type 'z witness4
= ('z, witness5) higher_kinded
type ('y, 'z) witness3
= ('y, 'z witness4) higher_kinded
type ('x, 'y, 'z) witness2
= ('x, ('y, 'z) witness3) higher_kinded
type ('a, 'x, 'y, 'z) witness1
= ('a, ('x, 'y, 'z) witness2) higher_kinded
type ('a, 'w, 'x, 'y, 'z) witness
= ('a, ('w, 'x, 'y, 'z) witness1) higher_kinded
val inject : ('a, 'w, 'x, 'y, 'z) t -> ('a, 'w, 'x, 'y, 'z) witness
val project : ('a, 'w, 'x, 'y, 'z) witness -> ('a, 'w, 'x, 'y, 'z) t