package bastet
Module Bastet.Tuple
module type MAGMA_F =
functor (First : Interface.MAGMA) ->
functor (Second : Interface.MAGMA) ->
Interface.MAGMA with type t = First.t * Second.tmodule type SEMIGROUP_F =
functor (First : Interface.SEMIGROUP) ->
functor (Second : Interface.SEMIGROUP) ->
Interface.SEMIGROUP with type t = First.t * Second.tmodule type MONOID_F =
functor (First : Interface.MONOID) ->
functor (Second : Interface.MONOID) ->
Interface.MONOID with type t = First.t * Second.tmodule type FUNCTOR_F =
functor (T : Interface.TYPE) ->
Interface.FUNCTOR with type 'a t = T.t * 'amodule type APPLY_F =
functor (S : Interface.SEMIGROUP) ->
Interface.APPLY with type 'a t = S.t * 'amodule type APPLICATIVE_F =
functor (M : Interface.MONOID) ->
Interface.APPLICATIVE with type 'a t = M.t * 'amodule type MONAD_F =
functor (M : Interface.MONOID) ->
Interface.MONAD with type 'a t = M.t * 'amodule type FOLDABLE_F =
functor (T : Interface.TYPE) ->
Interface.FOLDABLE with type 'a t = T.t * 'amodule type EQ_F =
functor (First : Interface.EQ) ->
functor (Second : Interface.EQ) ->
Interface.EQ with type t = First.t * Second.tmodule type SHOW_F =
functor (First : Interface.SHOW) ->
functor (Second : Interface.SHOW) ->
Interface.SHOW with type t = First.t * Second.tmodule type TRAVERSABLE_F =
functor (T : Interface.TYPE) ->
functor (A : Interface.APPLICATIVE) ->
Interface.TRAVERSABLE
with type 'a t = T.t * 'a
and type 'a applicative_t = 'a A.tmodule Semigroup : SEMIGROUP_Fmodule Applicative : APPLICATIVE_Fmodule Foldable : FOLDABLE_Fmodule Traversable : TRAVERSABLE_Fmodule Semigroupoid : Interface.SEMIGROUPOID with type ('a, 'b) t = 'a * 'bmodule Bifunctor : Interface.BIFUNCTOR with type ('a, 'b) t = 'a * 'bmodule Biapply : Interface.BIAPPLY with type ('a, 'b) t = 'a * 'bmodule Biapplicative : Interface.BIAPPLICATIVE with type ('a, 'b) t = 'a * 'bmodule Bifoldable : Interface.BIFOLDABLE with type ('a, 'b) t = 'a * 'bmodule type BITRAVERSABLE_F =
functor (A : Interface.APPLICATIVE) ->
Interface.BITRAVERSABLE
with type 'a applicative_t = 'a A.t
and type ('a, 'b) t = 'a * 'bmodule Bitraversable : BITRAVERSABLE_Fmodule Infix : sig ... end