Property.check.go: def of bend-kit-property@0.4.0.0 Import: import bend-kit-property@0.4.0.0/property.bend as Property Lines 68-91 of bend-kit-property@0.4.0.0/property.bend: https://jend.leeeet.dev/read.txt?path=bend-kit-property@0.4.0.0/property.bend&start_line=68&end_line=91 import Base import bend-kit-random@0.1.0.1/random.bend as Rand def check.go(~T: Type, ~gen: Rand.Rng -> T & Rand.Rng, ~copy: T -> T & T, ~shrink: T -> List<&1, T>, ~test: T -> T & Bool, remaining: Nat, +seed: U32, +trial: Nat, state: (T & Bool) & Rand.Rng) -> Maybe<&1, Failure>: match remaining: case 0n: None{} case 1n+p: match p: case 0n: (tested, next) = state (value, ok) = tested match ok: case False{}: Some{Failure{seed, trial, minimize.start(~T, ~copy, ~shrink, ~test, value)}} case True{}: None{} case 1n+q: (tested, next) = state (value, ok) = tested match ok: case False{}: Some{Failure{seed, trial, minimize.start(~T, ~copy, ~shrink, ~test, value)}} case True{}: check.go(~T, ~gen, ~copy, ~shrink, ~test, p, seed, (1n+trial), draw(~T, ~gen, ~test, next)) Uses (11): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Maybe 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=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=bend-kit-property@0.4.0.0/property.bend&name=Failure https://jend.leeeet.dev/definition.txt?path=bend-kit-property@0.4.0.0/property.bend&name=draw https://jend.leeeet.dev/definition.txt?path=bend-kit-property@0.4.0.0/property.bend&name=minimize.start https://jend.leeeet.dev/definition.txt?path=bend-kit-random@0.1.0.1/random.bend&name=Rng