While we're still at groundwork, let's make it explicit: "symbols" to a classical linker are just functions and variables. Constants already get tricky.
Personally the most surprising thing was the fact that linkers link OBJ files, not functions and variables. And even with /Gy and /OPT:REF linking still doesn't work by starting at main() and recursively adding to that.