Tier 2 — Cleanup. Two helpers carry no weight:
src/Fallout.Utilities/Lazy.cs (~18 LOC) — Lazy.Create<T>(func) is just new Lazy<T>(func). Inline at call sites and delete.
src/Fallout.Utilities/Collections/Dictionary.GetOrDefault.cs (~23 LOC) — a netstandard2.0-only GetValueOrDefault shim. Built into the BCL since .NET 5; the project no longer needs the polyfill.
⚠️ Breaking change
Lazy.Create is public surface → if removed outright, breaking-change + experimental + CHANGELOG migration note. Prefer an [Obsolete] forwarder for one cycle. The Dictionary shim is conditionally compiled and effectively dead.
Acceptance
From dependency-consolidation audit, 2026-06-02.
Tier 2 — Cleanup. Two helpers carry no weight:
src/Fallout.Utilities/Lazy.cs(~18 LOC) —Lazy.Create<T>(func)is justnew Lazy<T>(func). Inline at call sites and delete.src/Fallout.Utilities/Collections/Dictionary.GetOrDefault.cs(~23 LOC) — anetstandard2.0-onlyGetValueOrDefaultshim. Built into the BCL since .NET 5; the project no longer needs the polyfill.Lazy.Createis public surface → if removed outright,breaking-change+experimental+ CHANGELOG migration note. Prefer an[Obsolete]forwarder for one cycle. The Dictionary shim is conditionally compiled and effectively dead.Acceptance
Lazy.Createcall sites inlined; type obsoleted/removedDictionary.GetOrDefaultnetstandard2.0 conditional removedFrom dependency-consolidation audit, 2026-06-02.