∀ {α : Type u} {β : Type v} {x : BEq α} {x_1 : Hashable α} {m : Std.HashMap α β} [EquivBEq α] [LawfulHashable α]
  {k k' fallback : α} {f : Option β → Option β},
  (m.alter k f).getKeyD k' fallback =
    if (k == k') = true then if (f m[k]?).isSome = true then k else fallback else m.getKeyD k' fallback