Generic.strip_go: def of bend-collections-laws-crypto@1.0.0.0 Import: import bend-collections-laws-crypto@1.0.0.0/src/math/generic.bend as Generic Lines 217-225 of bend-collections-laws-crypto@1.0.0.0/src/math/generic.bend: https://jend.leeeet.dev/read.txt?path=bend-collections-laws-crypto@1.0.0.0/src/math/generic.bend&start_line=217&end_line=225 import Base import bend-collections-laws-crypto@1.0.0.0/src/math/num.bend as N # x with its factors of two removed (x != 0) def strip_go(~T: Data, ~op: N.Op -> T, ~test: N.Test -> Bool, fuel: Nat, st: T & Bool) -> T: match fuel st: case 0n Tuple{x, o}: x case 1n+f Tuple{x, True{}}: x case 1n+f Tuple{+x, False{}}: strip_go(~T, ~op, ~test, f, hst(~T, ~op, ~test, x)) Uses (7): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Sigma https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/math/generic.bend&name=hst https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/math/num.bend&name=Op https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/math/num.bend&name=Test