∀ (suggestions : Array Lean.Name) (i : ℕ) (acc : Array Lean.Name) (lctx : Lean.LocalContext),
  Aesop.getUnusedNames.go✝ suggestions i acc lctx =
    if h : i < suggestions.size then
      have name := lctx.getUnusedName suggestions[i];
      have lctx := lctx.addDecl (Aesop.getUnusedNames.dummyLDecl✝ name);
      Aesop.getUnusedNames.go✝¹ suggestions (i + 1) (acc.push name) lctx
    else (acc, lctx)