package higher_kinded

  1. Overview
  2. Docs

Parameters

module X : Base.T3

Signature

type witness3
type 'z witness2 = ('z, witness3) t
type ('y, 'z) witness1 = ('y, 'z witness2) t
type ('a, 'y, 'z) witness = ('a, ('y, 'z) witness1) t
val inject : ('a, 'y, 'z) X.t -> ('a, 'y, 'z) witness
val project : ('a, 'y, 'z) witness -> ('a, 'y, 'z) X.t