monadify 0.3.0

A library for functional programming abstractions in Rust, focusing on Monads, Functors, Applicatives, and related concepts.
Documentation
//! Do-notation integration tests for the kind-based monad instances.
//!
//! This module is compiled **only** when the `do-notation` feature is enabled.
//! Every submodule inherits that gate.
//!
//! Run with:
//! ```text
//! cargo test --features do-notation
//! ```

#![cfg(feature = "do-notation")]
// The equivalence tests call `.clone()` on `Option<i32>` to mirror the macro's
// own `(expr).clone()` desugaring, ensuring structural parity with non-Copy
// instances (Result, Vec, Identity, ReaderT).  The redundant-clone lint is
// intentional here for cross-instance test symmetry.
#![allow(clippy::clone_on_copy)]

pub mod auto_pure;
pub mod cfn_unsupported;
pub mod except;
pub mod identity;
pub mod laws;
pub mod option;
pub mod reader;
pub mod result;
pub mod state;
pub mod vec;
pub mod writer;