I wonder if it would be cleaner to have this take the `Flow` by value and instead return the `FlowConstructionResult` directly, instead of returning a tuple.