//! Implementation of some basic instances (in Haskell's meaning of a instances). //! //! To get an understanding of what instances are about, see [`option`]. //! //! For [`MonadFail`] examples, see [`result`][^research]. //! //! For the simplest form of [`Monad`], see [`solo`][^production]. //! //! For async support, see [`future`][^production][^research] and [`tryfuture`][^production][^research]. //! //! For "creative" execution models, see [`lazy`][^research] and [`stackless`][^research]. //! //! For combining monads, see [`composition`][^research]. //! //! For adding extra metadata to values, see [`effect`][^research]. //! //! For extending existing instances, see [`overload`][^research]. //! //! [^production]: instances expected to be used in production. //! //! [^research]: instances used for research purposes to enhance the abstract interfaces. //! //! [`MonadFail`]: super::fail::MonadFail //! [`Monad`]: super::Monad pub mod composition; pub mod effect; pub mod future; pub mod lazy; pub mod option; pub mod overload; pub mod result; pub mod solo; pub mod stackless; pub mod tryfuture;