Module Bastet__Dual
module type MAGMA_F = functor (M : Bastet.Interface.MAGMA) -> Bastet.Interface.MAGMA with type t = M.t dualmodule type SEMIGROUP_F = functor (S : Bastet.Interface.SEMIGROUP) -> Bastet.Interface.SEMIGROUP with type t = S.t dualmodule type MONOID_F = functor (M : Bastet.Interface.MONOID) -> Bastet.Interface.MONOID with type t = M.t dualmodule type MAGMA_ANY_F = functor (M : Bastet.Interface.MAGMA_ANY) -> Bastet.Interface.MAGMA_ANY with type 'a t = 'a M.t dualmodule type SEMIGROUP_ANY_F = functor (S : Bastet.Interface.SEMIGROUP_ANY) -> Bastet.Interface.SEMIGROUP_ANY with type 'a t = 'a S.t dualmodule type MONOID_ANY_F = functor (M : Bastet.Interface.MONOID_ANY) -> Bastet.Interface.MONOID_ANY with type 'a t = 'a M.t dualmodule type TRAVERSABLE_F = functor (A : Bastet.Interface.APPLICATIVE) -> Bastet.Interface.TRAVERSABLE with type 'a t = 'a dual and type 'a applicative_t = 'a A.tmodule Semigroup : SEMIGROUP_Fmodule Functor : Bastet.Interface.FUNCTOR with type 'a t = 'a dualmodule Applicative : Bastet.Interface.APPLICATIVE with type 'a t = 'a dualmodule Monad : Bastet.Interface.MONAD with type 'a t = 'a dualmodule Magma_Any : MAGMA_ANY_Fmodule Semigroup_Any : SEMIGROUP_ANY_Fmodule Monoid_Any : MONOID_ANY_Fmodule Foldable : Bastet.Interface.FOLDABLE with type 'a t = 'a dualmodule Traversable : TRAVERSABLE_Fmodule Infix : sig ... end