def clamp_ok
import bend-collections@1.0.0.0/src/math/generic.bend as Genericimport Base
import bend-collections@1.0.0.0/src/math/num.bend as N
86def clamp_ok(~T: Data, ~op: N.Op<T> -> T, ~test: N.Test<T> -> Bool, +x: T, +lo: T, +hi: T, bad: Bool) -> Result<&2, &2, N.NumError, T>:
87 match bad:
88 case True{}:
89 Fail{N.BadDomain{}}
90 case False{}:
91 Done{min(~T, ~op, ~test, max(~T, ~op, ~test, x, lo), hi)}