This function should not be used directly. Rather you should use the infix operators. They all wrap this function.
bind(x, f, entry_lhs_transform = entry_lhs_transform_default,
bind_if = function(m) .single_OK(m), bind_else = default_bind_else,
emit = emit_default, m_on_bind = function(x, ...) { x },
io_combine = default_combine, bind_args = function(m)
list(.single_value(m, warn = FALSE)), parent_ids = function(m)
list(.get_ids(m)[.single_id(m)]), expect_rhs_function = TRUE,
envir = parent.frame())
The input, may or may not be a monad report
A function of the value contained in x
f(m,x,...) a transform of the lhs called on entry
f(m) bind rhs to lhs if TRUE
f(m,f) action to take if bind_if is FALSE
f(i,o) Emit the input or the output
f(m,o) weave m and f(m) into final output
function to retrieve the arguments
f(m) Action to perform on input monad when binding
A monad report