def cdn.rec1
import cswap-bend-cli@0.1.0.0/policy/pick.bend as Pickimport Base
import cswap-bend-cli@0.1.0.0/policy/rank.bend as R
130def cdn.rec1(+h: Nat, +rc: Maybe<&2, Nat>, +rk: Rk) -> Maybe<&2, RH>:
131 match rk:
132 case Rk{t, cf, rm, ah0, best, ar, ars, thr, s}:
133 match s:
134 case R.Sel{active, bar, need, us, now, ms}:
135 rh.if(Bool.not(by_recovery(rc, ar, ah0, best, now)) && Nat.is_ge(h, Nat.mul(2n, ah0)), rc, h)