//! Implementation of some basic classes (in Haskell's meaning of a class). //! //! To get an understanding of what classes are about, see [`option`]. //! //! For [`MonadFail`] examples, see [`result`][^research]. //! //! For the simplest form (even ChatGPT can understand it! lol) of [`Monad`], see [`solo`][^production]. //! //! For async support, see [`future`][^production][^research]. //! //! For "creative" execution models, see [`lazy`][^research] and [`stackless`][^research]. //! //! To see when not to use [Monad]s, see [`composition`][^research]. //! //! [^production]: classes expected to be used in production. //! //! [^research]: classes used for research purposes to enhance the abstract interfaces. #[cfg(doc)] use crate::func::*; pub mod composition; pub mod effect; pub mod future; pub mod lazy; pub mod option; pub mod result; pub mod solo; pub mod stackless; pub mod tryfuture;