(index ("define-monad" 0) ("using" 0) ("do-using" 0) ("do/m" 0) ("fail" 278) ("return" 278) ("variable" 278) ("/m" 278) ("/m!" 278))
(def (sig (syntax "(define-monad name unit-function bind-function [fail-function])" (id define-monad)) (syntax "(using monad [body ...])" (id using)) (syntax "(do-using monad [body ...])" (id do-using)) (syntax "(do/m monad [body ...])" (id do/m))) (p "Within a monad scope:"))
(def (sig (syntax "(fail monad [body ...])" (id fail)) (syntax "(return monad value)" (id return)) (syntax "([variable] <- [monad])" (id variable)) (syntax "(/m [monadic method])" (id /m)) (syntax "(/m! [monadic method] [parameters ...])" (id /m!))))
