Parameters
Signature
include Accessor__.Import.Hk.S4 with type ('a, 'b, 'c, 'd) t := ('a, 'b, 'c, 'd) T.t
type (_, _) higher_kinded
type ('a, 'x, 'y, 'z) t
type witness4
type 'z witness3
= ('z, witness4) higher_kinded
type ('y, 'z) witness2
= ('y, 'z witness3) higher_kinded
type ('x, 'y, 'z) witness1
= ('x, ('y, 'z) witness2) higher_kinded
type ('a, 'x, 'y, 'z) witness
= ('a, ('x, 'y, 'z) witness1) higher_kinded
val inject : ('a, 'x, 'y, 'z) t -> ('a, 'x, 'y, 'z) witness
val project : ('a, 'x, 'y, 'z) witness -> ('a, 'x, 'y, 'z) t
val projected : ('a, 'b, 'c, 'd) witness -> f:(('a, 'b, 'c, 'd) T.t -> ('e, 'f, 'g, 'h) T.t) -> ('e, 'f, 'g, 'h) witness
val injected : ('a Accessor.Index.t * 'b, 'c, 'd, 'e) T.t -> f:(('a -> 'b -> 'c, ('d, 'e) witness2) t -> ('f -> 'g -> 'h, ('i, 'j) witness2) t) -> ('f Accessor.Index.t * 'g, 'h, 'i, 'j) T.t