let f : α → α × α → α → α × α :=
  λ a₁ z m => (UInt.when ((a₁ &&& m) ≠ 0) z.2 ||| z.1, z.2 <<< 1)
α : Type
inst✝² : (n : Nat) → OfNat α n
inst✝¹ : UInt α
inst✝ : DecidableEq α
⊢ ∀ (a : α), UInt.ctz a = UInt.ctz' a
α : Type
inst✝² : (n : Nat) → OfNat α n
inst✝¹ : UInt α
inst✝ : DecidableEq α
f : α → α × α → α → α × α := fun a₁ z m => (UInt.when (decide (a₁ &&& m ≠ 0)) z.snd ||| z.fst, z.snd <<< 1)
⊢ ∀ (a : α), UInt.ctz a = UInt.ctz' a