#![no_std]
#![deny(missing_docs)]
#![allow(clippy::too_many_arguments)]
extern crate rust2fun_macros;
#[cfg(feature = "std")]
extern crate std;
#[cfg(feature = "std")]
macro_rules! if_std {
( $( $code:tt )* ) => {
$( $code )*
}
}
#[cfg(not(feature = "std"))]
macro_rules! if_std {
( $( $code:tt )* ) => {};
}
pub mod and_then;
pub mod ap_n;
pub mod applicative;
pub mod apply;
pub mod bifunctor;
pub mod combinator;
pub mod contravariant;
pub mod data;
pub mod flatmap;
pub mod functor;
pub mod higher;
pub mod invariant;
pub mod map_n;
pub mod monad;
pub mod monoid;
pub mod pure;
pub mod semigroup;
pub mod semigroupal;
pub mod prelude {
pub use crate::and_then::*;
pub use crate::ap_n::*;
pub use crate::applicative::*;
pub use crate::apply::*;
pub use crate::bifunctor::*;
pub use crate::combinator::*;
pub use crate::contravariant::*;
pub use crate::data::*;
pub use crate::flatmap::*;
pub use crate::functor::*;
pub use crate::higher::*;
pub use crate::invariant::*;
pub use crate::map_n::*;
pub use crate::monad::*;
pub use crate::monoid::*;
pub use crate::pure::*;
pub use crate::semigroup::*;
pub use crate::semigroupal::*;
pub use crate::*;
}