# and-then
Monadic bind (flatMap) for Results.
## Syntax
[and-then $result $f]
`$f` takes the inner value of an Ok and must return a Result; an Err propagates unchanged.
## Examples
[and-then [ok 1] {|n| [ok ($n + 1)]}] # Ok(2) [and-then [ok "x"] {|s| [err "no"]}] # Err("no") [and-then [err "bad"] {|n| [ok $n]}] # Err("bad") # Chaining Result-returning steps: [and-then [parse $s] {|n| [validate $n]}]
## Returns
Result — `f(v)` when Ok, or the original Err unchanged.
## See Also
`result/map`, `result/traverse`, `unwrap`, `ok`