def dbl
import bend-collections-laws-crypto@1.0.0.0/src/math/generic.bend as Genericimport Base
import bend-collections-laws-crypto@1.0.0.0/src/math/num.bend as N
260def dbl(~T: Data, ~op: N.Op<T> -> T, c: Nat, +x: T) -> T:
261 match c:
262 case 0n:
263 x
264 case 1n+k:
265 dbl(~T, ~op, k, op(N.Add{x, x}))