Hmm, I'll try to explain as quickly as possible...
1) Each interface element is different depending on the screen. So there are probably over 50 little light circles with minute differences spread across the various screens.
2) It'd be tedious. Not impossible, but long and boring.
3) Unforseen bits of parts of code that contradict common sense. Example, in finishing triple-primary support, I found that Volition had apprently done massive-copy pasting and then thrown in some hardcoded values for each text entry in the weapons list. Tossing in a for loop to dynamically calculate the position values was easier, more efficient, and just plain better than the code before.