diff --git a/src/func.rs b/src/func.rs index 0921edf..baff326 100644 --- a/src/func.rs +++ b/src/func.rs @@ -28,8 +28,6 @@ pub use self::applicative_select::{ }; use self::controlflow::{ControlFlow, Iterative}; pub use self::extensions::MonadExt; -#[cfg(doc)] -use self::instances::stackless::StacklessInstance; /// Part of Haskell's `Functor f` responsible for having `f a`. /// @@ -119,6 +117,8 @@ pub trait Monad<'a>: Applicative<'a> { /// Generally, [`Monad::bind`] should be enough implement it. /// See [`StacklessInstance::iterate`] for a generic, though less-than ideal, blanket implementation. /// On practice, you generally shouldn't be using [`Monad::bind`]/[`Pure::pure`]/[`Functor::fmap`] here. + /// + /// [`StacklessInstance::iterate`]: crate::func::instances::stackless::StacklessInstance::iterate fn iterate(f: impl Iterative<'a, T = Self, B = B>) -> Self::F; /// Equivalent of Haskell's `join`.