| 1558 | * - Short-circuits on the first `Failure` |
| 1559 | * - The field name must not collide with existing keys |
| 1560 | * - Use {@link let_ let} for pure (non-Result) computed fields |
| 1561 | * |
| 1562 | * **Example** (Binding Result values) |
| 1563 | * |
| 1564 | * ```ts import.meta.vitest |
| 1565 | * import { pipe, Result } from "effect" |
| 1566 | * |
| 1567 | * pipe( |
| 1568 | * Result.Do, |
| 1569 | * Result.bind("x", () => Result.succeed(2)), |
| 1570 | * Result.bind("y", ({ x }) => Result.succeed(x + 3)) |
| 1571 | * ) // => Result.succeed({ x: 2, y: 5 }) |
| 1572 | * ``` |
| 1573 | * |
| 1574 | * @see {@link Do} to start the do-notation chain |
| 1575 | * @see {@link let_ let} for pure computed fields |