def same1.go
import lawful-bytes@0.1.1.0/bytes.bend as Bytesimport Base
import lawful-bytes@0.1.1.0/defs.bend as D
206# r holds bytes i and j; acc says all bytes so far matched.
207def same1.go(n: Nat, r: D.Bytes & (U32 & U32), +i: U32, +j: U32, acc: Bool) -> D.Bytes & Bool:
208 match n:
209 case 0n:
210 (b, q) = r
211 (b, acc)
212 case 1n+m:
213 (b, q) = r
214 (x, y) = q
215 same1.go(m, at2(b, (i + 1 : U32), (j + 1 : U32)), (i + 1 : U32), (j + 1 : U32), acc && U32.is_eq(x, y))