Module Indexed_comonad.For
Parameters
Signature
include Indexed_functor.LAWS with type ('a, 'index) t := ('a, 'index) C.t
val functor_1 : unit -> (('a, 'index) C.t, ('a, 'index) C.t) Law.t
val functor_2 :
unit ->
('a -> 'b, ('c -> 'a) -> ('c, 'index) C.t -> ('b, 'index) C.t) Law.t
val comonad_1 : unit -> (('a, 'index) C.t, ('a, 'index) C.t) Law.t
val comonad_2 : unit -> (('a, 'index) C.t -> 'b, ('a, 'index) C.t -> 'b) Law.t
val comonad_3 :
unit ->
(('a, 'index) C.t ->
'b,
(('c, 'index) C.t -> 'a) ->
('c, 'index) C.t ->
('b, 'index) C.t)
Law.t
val comonad_4 : unit -> (('a, 'index) C.t -> 'b, ('a, 'index) C.t -> 'b) Law.t
val comonad_5 : unit -> (('a, 'index) C.t -> 'b, ('a, 'index) C.t -> 'b) Law.t
val comonad_6 :
unit ->
(('a, 'index) C.t ->
'b,
(('b, 'index) C.t -> 'c) ->
(('c, 'index) C.t -> 'd) ->
('a, 'index) C.t ->
'd)
Law.t
val comonad_7 : unit -> (('a, 'index) C.t, ('a, 'index) C.t) Law.t
val comonad_8 : unit -> (('a, 'index) C.t, ('a, 'index) C.t) Law.t
val comonad_9 :
unit ->
(('a, 'index) C.t, ((('a, 'index) C.t, 'index) C.t, 'index) C.t) Law.t
val comonad_10 :
unit ->
(('a, 'index) C.t -> 'b, ('a, 'index) C.t -> ('b, 'index) C.t) Law.t
val comonad_11 :
unit ->
(('a, 'index) C.t, (('a, 'index) C.t, 'index) C.t) Law.t
val comonad_12 : unit -> ('a -> 'b, ('a, 'index) C.t -> ('b, 'index) C.t) Law.t