Module Bastet.Function
module type FUNCTOR_F = functor (T : Interface.TYPE) -> Interface.FUNCTOR with type 'a t = T.t -> 'amodule type APPLY_F = functor (T : Interface.TYPE) -> Interface.APPLY with type 'a t = T.t -> 'amodule type INVARIANT_F = functor (T : Interface.TYPE) -> Interface.INVARIANT with type 'a t = T.t -> 'amodule type CONTRAVARIANT_F = functor (T : Interface.TYPE) -> Interface.CONTRAVARIANT with type 'a t = 'a -> T.tmodule type BICONTRAVARIANT_F = functor (T : Interface.TYPE) -> Interface.BICONTRAVARIANT with type ('a, 'b) t = 'a -> 'b -> T.tmodule Semigroupoid : Interface.SEMIGROUPOID with type ('a, 'b) t = 'a -> 'bmodule Category : Interface.CATEGORY with type ('a, 'b) t = 'a -> 'bmodule Invariant : INVARIANT_Fmodule Profunctor : Interface.PROFUNCTOR with type ('a, 'b) t = 'a -> 'bmodule Contravariant : CONTRAVARIANT_Fmodule Bicontravariant : BICONTRAVARIANT_Fmodule Infix : sig ... end