{motive : Lean.ForEachExprWhere.State → Sort u} →
  ((visited : Array Lean.Expr) →
      (checked : Std.HashSet Lean.Expr) → motive { visited := visited, checked := checked }) →
    (t : Lean.ForEachExprWhere.State) → motive t