FsFlow.Builders.flow

The universal flow { } computation expression.

Remarks

Use this builder when the boundary can mix synchronous values, `Async`, `Task`, `Result`, and environment requests while keeping typed failures and explicit dependency access. It preserves the current environment model while allowing the workflow to compose task-oriented inputs directly, so callers do not need to switch builders just to cross an async boundary.

Examples

 let greeting =
     flow {
         let! name = Flow.env
         let! suffix = async { return "!" }
         return $"Hello, {name}{suffix}"
     }