def IO.join.go
import Base285def IO.join.go(-A: Type, chan: Chan(A), got: Maybe<&1, A>) -> IO(A):
286 match got:
287 case None{}:
288 IO.die(A, 1, "IO.join: the channel was closed")
289 case Some{value}:
290 IO.bind(Unit, A, Chan.close(A, chan), u => IO.pure(A, value))