• OCaml logo OCaml logo
  • Learn
  • Packages
  • Community
  • Blog
  • Playground
  • Learn
  • Packages
  • Community
  • Blog
  • Playground
  • Get started
  • monads
  • Documentation
  • monads lib
  • Monads .Std .Monad .S Module type
package monads
  • monads
    • Monads
      • Std
        • Monad
          • Basic
          • Basic2
          • Choice
            • Basic
            • Basic2
            • Make
              • 1-M
            • Make2
              • 1-M
            • S
            • S2
          • Collection
            • Basic
            • Delay
            • Eager
            • S
            • S2
          • Cont
            • Collection
              • Delay
                • 1-T
              • Eager
                • 1-T
              • S
            • Exn
            • Fn
            • Let_syntax
              • Let_syntax
                • Open_on_rhs
            • Lift
            • List
            • Make
              • 1-T
              • 2-M
                • Collection
                  • Delay
                    • 1-T
                  • Eager
                    • 1-T
                  • S
                • Exn
                • Fn
                • Let_syntax
                  • Let_syntax
                    • Open_on_rhs
                • Lift
                • List
                • Monad_infix
                • Pair
                • Seq
                • Syntax
                • Triple
              • Collection
                • Delay
                  • 1-T
                • Eager
                  • 1-T
                • S
              • Exn
              • Fn
              • Let_syntax
                • Let_syntax
                  • Open_on_rhs
              • Lift
              • List
              • Monad_infix
              • Pair
              • Seq
              • Syntax
              • Triple
            • Make2
              • 1-M
                • Collection
                  • Delay
                    • 1-T
                  • Eager
                    • 1-T
                  • S
                • Exn
                • Fn
                • Let_syntax
                  • Let_syntax
                    • Open_on_rhs
                • Lift
                • List
                • Monad_infix
                • Pair
                • Seq
                • Syntax
                • Triple
              • Collection
                • Delay
                  • 1-T
                • Eager
                  • 1-T
                • S
              • Exn
              • Fn
              • Let_syntax
                • Let_syntax
                  • Open_on_rhs
              • Lift
              • List
              • Monad_infix
              • Pair
              • Seq
              • Syntax
              • Triple
            • Monad_infix
            • Pair
            • S
              • Collection
                • Delay
                  • 1-T
                • Eager
                  • 1-T
                • S
              • Exn
              • Fn
              • Let_syntax
                • Let_syntax
                  • Open_on_rhs
              • Lift
              • List
              • Monad_infix
              • Pair
              • Seq
              • Syntax
              • Triple
            • S2
              • Collection
                • Delay
                  • 1-T
                • Eager
                  • 1-T
                • S
              • Exn
              • Fn
              • Let_syntax
                • Let_syntax
                  • Open_on_rhs
              • Lift
              • List
              • Monad_infix
              • Pair
              • Seq
              • Syntax
              • Triple
            • Seq
            • Syntax
            • T1
              • 1-T
              • 2-M
                • Collection
                  • Delay
                    • 1-T
                  • Eager
                    • 1-T
                  • S
                • Exn
                • Fn
                • Let_syntax
                  • Let_syntax
                    • Open_on_rhs
                • Lift
                • List
                • Monad_infix
                • Pair
                • Seq
                • Syntax
                • Triple
            • T2
              • 1-M
                • Collection
                  • Delay
                    • 1-T
                  • Eager
                    • 1-T
                  • S
                • Exn
                • Fn
                • Let_syntax
                  • Let_syntax
                    • Open_on_rhs
                • Lift
                • List
                • Monad_infix
                • Pair
                • Seq
                • Syntax
                • Triple
            • Triple
          • Core
            • 1-M
              • Let_syntax
                • Let_syntax
                  • Open_on_rhs
              • Monad_infix
            • Collection
              • Delay
                • 1-T
              • Eager
                • 1-T
              • S
            • Exn
            • Fn
            • Let_syntax
              • Let_syntax
                • Open_on_rhs
            • Lift
            • List
            • Monad_infix
            • Pair
            • Seq
            • Syntax
            • Triple
          • Core2
            • 1-M
              • Let_syntax
                • Let_syntax
                  • Open_on_rhs
              • Monad_infix
            • Collection
              • Delay
                • 1-T
              • Eager
                • 1-T
              • S
            • Exn
            • Fn
            • Let_syntax
              • Let_syntax
                • Open_on_rhs
            • Lift
            • List
            • Monad_infix
            • Pair
            • Seq
            • Syntax
            • Triple
          • Fail
            • S
            • S2
          • Fun
            • Collection
              • Delay
                • 1-T
              • Eager
                • 1-T
              • S
            • Exn
            • Fn
            • Let_syntax
              • Let_syntax
                • Open_on_rhs
            • Lift
            • List
            • Make
              • 1-M
                • Collection
                  • Delay
                    • 1-T
                  • Eager
                    • 1-T
                  • S
                • Exn
                • Fn
                • Let_syntax
                  • Let_syntax
                    • Open_on_rhs
                • Lift
                • List
                • Monad_infix
                • Pair
                • Seq
                • Syntax
                • Triple
              • Collection
                • Delay
                  • 1-T
                • Eager
                  • 1-T
                • S
              • Exn
              • Fn
              • Let_syntax
                • Let_syntax
                  • Open_on_rhs
              • Lift
              • List
              • Monad_infix
              • Pair
              • Seq
              • Syntax
              • Triple
            • Make2
              • 1-M
                • Collection
                  • Delay
                    • 1-T
                  • Eager
                    • 1-T
                  • S
                • Exn
                • Fn
                • Let_syntax
                  • Let_syntax
                    • Open_on_rhs
                • Lift
                • List
                • Monad_infix
                • Pair
                • Seq
                • Syntax
                • Triple
              • Collection
                • Delay
                  • 1-T
                • Eager
                  • 1-T
                • S
              • Exn
              • Fn
              • Let_syntax
                • Let_syntax
                  • Open_on_rhs
              • Lift
              • List
              • Monad_infix
              • Pair
              • Seq
              • Syntax
              • Triple
            • Monad_infix
            • Pair
            • S
              • Collection
                • Delay
                  • 1-T
                • Eager
                  • 1-T
                • S
              • Exn
              • Fn
              • Let_syntax
                • Let_syntax
                  • Open_on_rhs
              • Lift
              • List
              • Monad_infix
              • Pair
              • Seq
              • Syntax
              • Triple
            • S2
              • Collection
                • Delay
                  • 1-T
                • Eager
                  • 1-T
                • S
              • Exn
              • Fn
              • Let_syntax
                • Let_syntax
                  • Open_on_rhs
              • Lift
              • List
              • Monad_infix
              • Pair
              • Seq
              • Syntax
              • Triple
            • Seq
            • Syntax
            • T1
              • 1-M
                • Collection
                  • Delay
                    • 1-T
                  • Eager
                    • 1-T
                  • S
                • Exn
                • Fn
                • Let_syntax
                  • Let_syntax
                    • Open_on_rhs
                • Lift
                • List
                • Monad_infix
                • Pair
                • Seq
                • Syntax
                • Triple
            • T2
              • 1-M
                • Collection
                  • Delay
                    • 1-T
                  • Eager
                    • 1-T
                  • S
                • Exn
                • Fn
                • Let_syntax
                  • Let_syntax
                    • Open_on_rhs
                • Lift
                • List
                • Monad_infix
                • Pair
                • Seq
                • Syntax
                • Triple
            • Triple
          • Ident
            • Collection
              • Delay
                • 1-T
              • Eager
                • 1-T
              • S
            • Exn
            • Fn
            • Let_syntax
              • Let_syntax
                • Open_on_rhs
            • Lift
            • List
            • Monad_infix
            • Pair
            • Seq
            • Syntax
            • Triple
          • Lazy
            • Collection
              • Delay
                • 1-T
              • Eager
                • 1-T
              • S
            • Exn
            • Fn
            • Let_syntax
              • Let_syntax
                • Open_on_rhs
            • Lift
            • List
            • Make
              • 1-M
                • Collection
                  • Delay
                    • 1-T
                  • Eager
                    • 1-T
                  • S
                • Exn
                • Fn
                • Let_syntax
                  • Let_syntax
                    • Open_on_rhs
                • Lift
                • List
                • Monad_infix
                • Pair
                • Seq
                • Syntax
                • Triple
              • Collection
                • Delay
                  • 1-T
                • Eager
                  • 1-T
                • S
              • Exn
              • Fn
              • Let_syntax
                • Let_syntax
                  • Open_on_rhs
              • Lift
              • List
              • Monad_infix
              • Pair
              • Seq
              • Syntax
              • Triple
            • Make2
              • 1-M
                • Collection
                  • Delay
                    • 1-T
                  • Eager
                    • 1-T
                  • S
                • Exn
                • Fn
                • Let_syntax
                  • Let_syntax
                    • Open_on_rhs
                • Lift
                • List
                • Monad_infix
                • Pair
                • Seq
                • Syntax
                • Triple
              • Collection
                • Delay
                  • 1-T
                • Eager
                  • 1-T
                • S
              • Exn
              • Fn
              • Let_syntax
                • Let_syntax
                  • Open_on_rhs
              • Lift
              • List
              • Monad_infix
              • Pair
              • Seq
              • Syntax
              • Triple
            • Monad_infix
            • Pair
            • S
              • Collection
                • Delay
                  • 1-T
                • Eager
                  • 1-T
                • S
              • Exn
              • Fn
              • Let_syntax
                • Let_syntax
                  • Open_on_rhs
              • Lift
              • List
              • Monad_infix
              • Pair
              • Seq
              • Syntax
              • Triple
            • S2
              • Collection
                • Delay
                  • 1-T
                • Eager
                  • 1-T
                • S
              • Exn
              • Fn
              • Let_syntax
                • Let_syntax
                  • Open_on_rhs
              • Lift
              • List
              • Monad_infix
              • Pair
              • Seq
              • Syntax
              • Triple
            • Seq
            • Syntax
            • T1
              • 1-M
                • Collection
                  • Delay
                    • 1-T
                  • Eager
                    • 1-T
                  • S
                • Exn
                • Fn
                • Let_syntax
                  • Let_syntax
                    • Open_on_rhs
                • Lift
                • List
                • Monad_infix
                • Pair
                • Seq
                • Syntax
                • Triple
            • T2
              • 1-M
                • Collection
                  • Delay
                    • 1-T
                  • Eager
                    • 1-T
                  • S
                • Exn
                • Fn
                • Let_syntax
                  • Let_syntax
                    • Open_on_rhs
                • Lift
                • List
                • Monad_infix
                • Pair
                • Seq
                • Syntax
                • Triple
            • Triple
          • List
            • Collection
              • Delay
                • 1-T
              • Eager
                • 1-T
              • S
            • Exn
            • Fn
            • Let_syntax
              • Let_syntax
                • Open_on_rhs
            • Lift
            • List
            • Make
              • 1-M
                • Collection
                  • Delay
                    • 1-T
                  • Eager
                    • 1-T
                  • S
                • Exn
                • Fn
                • Let_syntax
                  • Let_syntax
                    • Open_on_rhs
                • Lift
                • List
                • Monad_infix
                • Pair
                • Seq
                • Syntax
                • Triple
              • Collection
                • Delay
                  • 1-T
                • Eager
                  • 1-T
                • S
              • Exn
              • Fn
              • Let_syntax
                • Let_syntax
                  • Open_on_rhs
              • Lift
              • List
              • Monad_infix
              • Pair
              • Seq
              • Syntax
              • Triple
            • Make2
              • 1-M
                • Collection
                  • Delay
                    • 1-T
                  • Eager
                    • 1-T
                  • S
                • Exn
                • Fn
                • Let_syntax
                  • Let_syntax
                    • Open_on_rhs
                • Lift
                • List
                • Monad_infix
                • Pair
                • Seq
                • Syntax
                • Triple
              • Collection
                • Delay
                  • 1-T
                • Eager
                  • 1-T
                • S
              • Exn
              • Fn
              • Let_syntax
                • Let_syntax
                  • Open_on_rhs
              • Lift
              • List
              • Monad_infix
              • Pair
              • Seq
              • Syntax
              • Triple
            • Monad_infix
            • Pair
            • S
              • Collection
                • Delay
                  • 1-T
                • Eager
                  • 1-T
                • S
              • Exn
              • Fn
              • Let_syntax
                • Let_syntax
                  • Open_on_rhs
              • Lift
              • List
              • Monad_infix
              • Pair
              • Seq
              • Syntax
              • Triple
            • S2
              • Collection
                • Delay
                  • 1-T
                • Eager
                  • 1-T
                • S
              • Exn
              • Fn
              • Let_syntax
                • Let_syntax
                  • Open_on_rhs
              • Lift
              • List
              • Monad_infix
              • Pair
              • Seq
              • Syntax
              • Triple
            • Seq
            • Syntax
            • T1
              • 1-M
            • T2
              • 1-M
            • Triple
          • Make
            • 1-M
            • Collection
              • Delay
                • 1-T
              • Eager
                • 1-T
              • S
            • Exn
            • Fn
            • Let_syntax
              • Let_syntax
                • Open_on_rhs
            • Lift
            • List
            • Monad_infix
            • Pair
            • Seq
            • Syntax
            • Triple
          • Make2
            • 1-M
            • Collection
              • Delay
                • 1-T
              • Eager
                • 1-T
              • S
            • Exn
            • Fn
            • Let_syntax
              • Let_syntax
                • Open_on_rhs
            • Lift
            • List
            • Monad_infix
            • Pair
            • Seq
            • Syntax
            • Triple
          • Minimal
            • 1-M
            • Collection
              • Delay
                • 1-T
              • Eager
                • 1-T
              • S
            • Exn
            • Fn
            • Let_syntax
              • Let_syntax
                • Open_on_rhs
            • Lift
            • List
            • Monad_infix
            • Pair
            • Seq
            • Syntax
            • Triple
          • Minimal2
            • 1-M
            • Collection
              • Delay
                • 1-T
              • Eager
                • 1-T
              • S
            • Exn
            • Fn
            • Let_syntax
              • Let_syntax
                • Open_on_rhs
            • Lift
            • List
            • Monad_infix
            • Pair
            • Seq
            • Syntax
            • Triple
          • Option
            • Collection
              • Delay
                • 1-T
              • Eager
                • 1-T
              • S
            • Exn
            • Fn
            • Let_syntax
              • Let_syntax
                • Open_on_rhs
            • Lift
            • List
            • Make
              • 1-M
                • Collection
                  • Delay
                    • 1-T
                  • Eager
                    • 1-T
                  • S
                • Exn
                • Fn
                • Let_syntax
                  • Let_syntax
                    • Open_on_rhs
                • Lift
                • List
                • Monad_infix
                • Pair
                • Seq
                • Syntax
                • Triple
              • Collection
                • Delay
                  • 1-T
                • Eager
                  • 1-T
                • S
              • Exn
              • Fn
              • Let_syntax
                • Let_syntax
                  • Open_on_rhs
              • Lift
              • List
              • Monad_infix
              • Pair
              • Seq
              • Syntax
              • Triple
            • Make2
              • 1-M
                • Collection
                  • Delay
                    • 1-T
                  • Eager
                    • 1-T
                  • S
                • Exn
                • Fn
                • Let_syntax
                  • Let_syntax
                    • Open_on_rhs
                • Lift
                • List
                • Monad_infix
                • Pair
                • Seq
                • Syntax
                • Triple
              • Collection
                • Delay
                  • 1-T
                • Eager
                  • 1-T
                • S
              • Exn
              • Fn
              • Let_syntax
                • Let_syntax
                  • Open_on_rhs
              • Lift
              • List
              • Monad_infix
              • Pair
              • Seq
              • Syntax
              • Triple
            • Monad_infix
            • Pair
            • S
              • Collection
                • Delay
                  • 1-T
                • Eager
                  • 1-T
                • S
              • Exn
              • Fn
              • Let_syntax
                • Let_syntax
                  • Open_on_rhs
              • Lift
              • List
              • Monad_infix
              • Pair
              • Seq
              • Syntax
              • Triple
            • S2
              • Collection
                • Delay
                  • 1-T
                • Eager
                  • 1-T
                • S
              • Exn
              • Fn
              • Let_syntax
                • Let_syntax
                  • Open_on_rhs
              • Lift
              • List
              • Monad_infix
              • Pair
              • Seq
              • Syntax
              • Triple
            • Seq
            • Syntax
            • T1
              • 1-M
            • T2
              • 1-M
            • Triple
          • Plus
            • S
            • S2
          • Reader
            • Collection
              • Delay
                • 1-T
              • Eager
                • 1-T
              • S
            • Exn
            • Fn
            • Let_syntax
              • Let_syntax
                • Open_on_rhs
            • Lift
            • List
            • Make
              • 1-T
              • 2-M
                • Collection
                  • Delay
                    • 1-T
                  • Eager
                    • 1-T
                  • S
                • Exn
                • Fn
                • Let_syntax
                  • Let_syntax
                    • Open_on_rhs
                • Lift
                • List
                • Monad_infix
                • Pair
                • Seq
                • Syntax
                • Triple
              • Collection
                • Delay
                  • 1-T
                • Eager
                  • 1-T
                • S
              • Exn
              • Fn
              • Let_syntax
                • Let_syntax
                  • Open_on_rhs
              • Lift
              • List
              • Monad_infix
              • Pair
              • Seq
              • Syntax
              • Triple
            • Make2
              • 1-M
                • Collection
                  • Delay
                    • 1-T
                  • Eager
                    • 1-T
                  • S
                • Exn
                • Fn
                • Let_syntax
                  • Let_syntax
                    • Open_on_rhs
                • Lift
                • List
                • Monad_infix
                • Pair
                • Seq
                • Syntax
                • Triple
              • Collection
                • Delay
                  • 1-T
                • Eager
                  • 1-T
                • S
              • Exn
              • Fn
              • Let_syntax
                • Let_syntax
                  • Open_on_rhs
              • Lift