def wire.dial.next
import emerging-ezhttp@0.21.0.0/src/wire.bend as Wireimport Base
201# a connect that failed tries the next address; one that worked is kept
202def wire.dial.next(r: Result<&1, &1, U32 & String, Socket>,
203 more: Unit -> IO(Result<&1, &1, U32 & String, Socket>))
204 -> IO(Result<&1, &1, U32 & String, Socket>):
205 match r:
206 case Done{s}:
207 IO.pure(Result<&1, &1, U32 & String, Socket>, Done{s})
208 case Fail{e}:
209 more(Unit{})