Writing even a toy static linker demystifies what ld, gold, and LLVM's lld do for every build; lld's rewrite made linking Chromium several times faster, which is why it now ships as the default for Rust and Android. Section merging and symbol resolution order also explain classic footguns like static initialization order and --whole-archive.