package higher_kinded

  1. Overview
  2. Docs

Parameters

module X : sig ... end

Signature

type witness7
type 'z witness6 = ('z, witness7) t
type ('y, 'z) witness5 = ('y, 'z witness6) t
type ('x, 'y, 'z) witness4 = ('x, ('y, 'z) witness5) t
type ('a, 'x, 'y, 'z) witness3 = ('a, ('x, 'y, 'z) witness4) t
type ('a, 'w, 'x, 'y, 'z) witness2 = ('a, ('w, 'x, 'y, 'z) witness3) t
type ('a, 'v, 'w, 'x, 'y, 'z) witness1 = ('a, ('v, 'w, 'x, 'y, 'z) witness2) t
type ('a, 'u, 'v, 'w, 'x, 'y, 'z) witness = ('a, ('u, 'v, 'w, 'x, 'y, 'z) witness1) t
val inject : ('a, 'u, 'v, 'w, 'x, 'y, 'z) X.t -> ('a, 'u, 'v, 'w, 'x, 'y, 'z) witness
val project : ('a, 'u, 'v, 'w, 'x, 'y, 'z) witness -> ('a, 'u, 'v, 'w, 'x, 'y, 'z) X.t